为嵌入式应用选择合适的1-Wire®主机
压。它是功能最强的单芯片1-Wire主机,适合与大量从器件通信。有源上拉持续直至超过第二个门限。DS2480B也可以编程1-Wire EPROM器件。更多信息请参阅应用笔记192:DS2480B串行接口1-Wire线驱动器的使用 、应用笔记4104:DS2480B 1-Wire时序的理解及配置、以及DS2480B数据资料。可点此处下载AN192的源代码。
图5. UART/RS-232接口
图6电路非常适合I2C总线应用。
图6电路的主要前提是需要一个I?C总线控制器,如微控制器或FPGA/ASIC,还需要一定的程序存储器空间。电路的优点是性价比高。1-Wire时序由硬件产生,可以减少前期软件开发的时间和成本。因此,整个应用软件可以用高级语言编写。DS2482支持强上拉以及有源上拉。然而,嵌入式应用不需要有源上拉。内置1位搜索加速器使1-Wire ROM搜索更容易在软件中实施。缺点在于,DS2482驱动1-Wire从器件的数目比不上DS2490或DS2480B。DS2482还提供8通道版本。单通道的DS2482-100有一个控制输出,用于增加强上拉功能(Q1)。与DS2480B和DS2490相比,DS2482-100的有源上拉持续时间是固定的。I2C上拉电阻值取决于I?C总线的长度和分布范围。更多信息请参阅应用笔记3*:如何使用代用I?C接口的DS2482 1-Wire主控制器、以及DS2482-100和DS2482-800数据资料。可点击此处下载应用笔记3*中的源代码。
图6. 带可选超强上拉电路(虚线部分)的I2C接口
图7中的1-Wire主机特性与DS2480B非常类似。
图7电路的主要前提是需要USB端口,一般PC中都有。电路的优点在于1-Wire时序由硬件产生,可以减少前期软件开发的时间和成本。因此,整个应用软件可以用高级语言编写。1-Wire时序可以通过控制寄存器微调。DS2490支持强上拉和有源上拉。不过,嵌入式应用不需要对1-Wire时序和有源上拉进行微调。内置的4位搜索加速器使1-Wire ROM搜索在软件中更容易实施。就缺点而言,DS2490较图5中的器件成本高,且工作电压仅为5V。作为1-Wire主机,DS2490没有DS2480B功能强大。有源上拉持续直至超过第二个门限。更多信息请参阅应用笔记117:DS2490 Universal Serial Bus Descriptors、以及DS2490数据资料。应用软件示例见1-Wire Public Domain Kit。
图7. USB接口1-Wire主机,该图为简化电路,详细电路参见DS2490数据资料
可接PC的适配器方案
由于它们不需要由用户开发软件,因此作为1-Wire主机的PC机附件非常便于作为原型*估1-Wire器件。除了适配器、待检测1-Wire器件和现成的电缆,用户需要的就是*估软件,如基于Java的可免费下载的OneWireViewer。PC机适配器1-Wire端口即适合连接iButton?也适合母RJ-11连接器。具体情况如表1所列。
用OneWireViewer*估1-Wire器件时,识别芯片存在与否没有差别。然而,当对具有1个从器件的应用进行建模时,识别芯片需要执行Search ROM命令,而不是Read ROM命令。这使得建立软件原型较为复杂。
表1. 适合PC的1-Wire适配器
哪款1-Wire主机适合我的应用?
为更好的回答这一问题,先确定以下事情:
确定应用是否需要强上拉。参见“1-Wire术语”部分。
确定应用中的1-Wire工作电压。参见“1-Wire术语”部分。
在决策表(表2)中,删去无法提供的前提条件的方案(列)。
在决策表中,删去实际应用不支持的工作电压的方案(列)。
如果应用需要强上拉,在第5行填YES,否则填NO。
删减后剩下的方案,执行以下步骤:
估算附加硬件的成本(根据第3行项目;如果第5行中有YES,则还包括第4行项目)并填写到第6行。除非需要升级到较大的微控制器或FPGA/ASIC,否则假定增加端口完全免费。升级时,微控制器或FPGA/ASIC增加了边际成本。
估算软件开发成本并按照构建单元数平分。将数据填入第7行。如果无法估算软件开发成本,请填写0或留白。
把第6行和第7行的数字相加,结果写到第8行。
第8行中成本最低的就是最佳选择。
表2. 决策表 Row # Title Schematic/Figure Number
结束语
适合嵌入式应用的1-Wire主机应该在附加成本尽可能低的前提下符合1-Wire器件电气要求(即工作电压,若有必要还应带强上拉)。最终选择取决于应用中空闲的(未用)资源,包括端口引脚、UART、I?C总线甚至USB端口,以及程序存储器空间。如果空闲资源不足,有必要升级为带有更多端口和/或程序存储器的微控制器或FPGA。
在串行接口协议转换类型方面,DS2482-100是最具性价比的选择。对于从器件数目比较多的应用, DS2482-800每1-Wire通道成本更低。虽然微处理器端口引脚附件电路的成本大大低于DS2482-100,但在软件开发方面投入的额外精力(尤其是当需要写“位拆裂”的低级驱动器时)只能通过构建的单元
1-Wire® 主机 合适 选择 应用 嵌入式 相关文章:
- 高速PCI信号采集卡设计与实现综合实例之:主机应用程序和驱动程序的接口设计(06-04)
- 总线报警主机红外光栅视频联动系统(12-14)
- RS485如何实现多主机控制(12-14)
- RS-485的多机通信程序(主机端)(11-30)
- 新唐M0的MDK+NU-LINK的半主机调试使用(11-29)
- 第45节:主机的串口收发综合程序框架(11-22)