工程师,在设计研发各种不同功能类型的项目过程中,一般会遵循相应的项目开发流程,用以规划项目的开发进度,流程可分为
项目需求对接,也就是工程师与客户沟通,明确项目实现的功能;
项目立项,在与客户达成合作开发意向后,正式确立项目的开发;
项目方案设计,根据项目需求,工程师制定整体的项目开发方案;
研发调试,主要是测试发现软硬件的功能问题;
小批试产,通过小批试产检查产品的生产工艺以及PCBA装配等问题;
批量生产,项目所有问题解决完后,批量生产交付客户;
在不同的项目开发阶段,工程师尤其是电路研发岗位的工程师,主要参与的工作是项目方案设计,其他工作可以交由其他部门协同完成;
项目方案设计,针对不同的应用领域,工程师遇到的问题也不尽相同;例如
工业电机控制领域中,电路设计研究的对象是如何控制电机,包括电机的正转、反转以及速度的调控;工程师可能会遇到的问题是如何增加电路的抗干扰能力
智能扫地机器人领域中,电路设计研究的对象是如何避障、设定路线图以及自动充电功能;工程师可能会遇到的问题是如何使用传感器采集更准确的数据;
移动电源领域中,电路设计研究的对象是如何对锂电池进行合理地充电与放电;工程师可能会遇到的问题是如何显示实时的电量信息;
在方案设计完后,工程师就会进入详细的电路设计环节,如ADC采集电路、USB通信电路、电机驱动电路等等;
对于USB通信电路设计,工程师会面对一种问题:
只支持1个USB通信接口的单片机,如何与其他多个数量的USB保持通信?
在解决这个问题之前,首先需要了解一下关于USB通信的基本协议内容;完整的USB接口引脚定义为
Pin 1引脚:VBUS 电源引脚;
Pin 2引脚:D+ 数据通信引脚;
Pin 3引脚:D- 数据通信引脚;
Pin 4引脚:GDN 电源地引脚;
其中负责USB通信功能的主要是D+与D-两引脚,另外两引脚是USB的供电电源;
为了更清楚把问题“只支持1个USB通信接口的单片机,如何与其他多个数量的USB保持通信”展现出,将用图形代替文字
显然一个带有USB功能的单片机只能与一个USB接口实现通信,那么工程师该如何去解决图中反映的问题呢?
WAS4735Q双向多路选择开关芯片的应用电路方案就能较好地解决此类问题;
芯片的引脚功能
Pin1 & Pin4::芯片的电源引脚
Pin2 & Pin3:芯片的USB通信输入引脚;
Pin5 & Pin6:芯片的功能选择引脚;
Pin7~Pin14:芯片的USB通信输出引脚;
Pin15:芯片的使能引脚;
Pin16:芯片的NC不连接引脚;
在WAS4735Q芯片的应用电路开发中,USB通信引脚(比如Pin2 & Pin3)既可以作为输入引脚,也可以作为输出引脚;这可以从芯片的等效应用电路图看出
WAS4735Q芯片本质上属于双向多路开关选择器,工程师只需控制SEL0与SEL1的不同高低逻辑电平,则可以实现D+ = D0+,D- = D0-;或者D+ = D1+,D- = D1-......
具体的逻辑功能
1)SEL1 = 0,SEL0 = 0;则D+ = D0+,D- = D0-;
2)SEL1 = 0,SEL0 = 1;则D+ = D1+,D- = D1-;
3)SEL1 = 1,SEL0 = 0;则D+ = D2+,D- = D2-;
4)SEL1 = 1,SEL0 = 1;则D+ = D3+,D- = D3-;
其中OE = 0时,上述逻辑功能则成立,换句话说OE = 1时,芯片不工作;
在单片机与3个USB通信接口中间引入WAS4735Q双向多路开关芯片,就能实现分时段地实现与3个不同USB通信功能;
WAS4735Q芯片虽然能解决诸如通信接口数量不足的问题,但仅仅是适合分时段的通信;简单而言,单片机只能在同一时间与USB1~USB3其中的一个实现通信,不能同时与3个USB实现通信;工程师在项目开发中,需要针对性地做出方案选择;