基于DS2432的USB口1-Wire总线适配器的设计
扫描二维码
随时随地手机看文章
关键词:1-Wire总线;USB口;适配器;加密电路
1 引言
随着计算机硬件、软件技术及集成电路技术的迅速发展,基于现场总线技术的通信网络逐步取代分散式工业控制系统,成为计算机技术及电子技术应用领域中最具活力的一种边缘分支并取得巨大进步。美国美信公司设计的1-Wire总线是众多现场总线中极具竞争力的一种。具备能与计算机进行数字通信、总线负载量大、布线简练、精度高、性能稳定、价格便宜等诸多优点,特别是非常适合中短距离通信,是工业系统设计的高级境界。
l-Wire测量网络的实现需要与PC主机相结合,所以在1-Wire总线组成的测量网络中,网络适配器是必不可少的,它担负着主机监控单元与网络节点之间数据传输的重要任务。USB接口总线具有高速传输、支持热插拔、即插即用、开发成本低等优点。DS2432提供了一种紧凑的密钥存储方案,有效地降低了硬件仿制的可行性。据此,本文提出了一种基于DS2432的l-Wire总线USB口适配器的设计方法。
2 DS2432的内部结构和加密原理
2.1 DS2432的内部结构
DS2432是倒装芯片,有8个引脚,将控制、寻址、数据和电源集于一个数据引脚,可以在-40℃~+85℃,2.8 V~5.25 V的宽电压范围内进行读、写操作,内置多点控制。其引脚排列如图1所示。
DS2432的内部原理框图如图2所示。该电路主要由64位掩模ROM、64位暂存器、4个32字节的EEPROM、64位寄存器、64位密钥存储器及512位SHA-l(安全散列算法)引擎6个主数据部件组成。
2.2 DS2432的加密原理
DS2432有四个存储区:数据存储器、密钥存储器、含有特定功能和用户字节的寄存器页和暂存器。数据存储器每页32个字节。密钥、寄存器页和暂存器均为8字节。向数据存储器写数据、装载初始密钥,或者向寄存器页写入数据时,暂存器作为缓存器使用。数据存储器、密钥存储器和寄存器页位于线性地址空间中。数据存储器和寄存器页对读访问没有限制,但向数据存储器和寄存器页写数据时则需要知道密钥。密钥的安装有二种方法,一是把数据从暂存器复制到密钥存储器;二是当前密钥和暂存器内容经过运算后生成新的密钥。密钥不能直接读取,只有SHA引擎能够访问它,计算信息鉴定码MAC。
地址0088H-008FH为寄存器页,含有特定功能寄存器、通用用户字节以及1个工厂字节。一旦编程为AAH或55H,这些字节中的大多数将被写保护而不能再更改。其他所有代码既不能写保护,也不能激活与这个特定字节相关的特殊功能。特殊功能包括仅写保护密钥;同时写保护4个数据存储器页;仅激活数据存储器页1的EPROM模式;仅激活数据存储器页0的EPROM模式。一旦EPROM模式被激活,在数据存储器未加写保护的情况下,地址0020H-003FH中的位只能从逻辑1改为逻辑O。若读取到的地址设为55H,表明地址008E和008F是可读/写的用户字节,没有任何特定功能和锁定机制。代码AAH表明这二个字节被编程为16位的ID,并且被加写保护。主机与1-Wire设备进行通信时,用户要提供16位的ID识别码,用来协助应用软件识别包含DS2432的l-Wire网络适配器。
3 适配器的设计
3.1 硬件电路设计
适配器需2个接口电路分别与计算机主机系统和1-Wire网络进行通信。与主机系统进行通信主要通过USB协议实现,称为USB接口电路;与1-Wire网络之间的通信通过USB到l-Wire总线的桥接电路DS2490S实现,但需1个RJ-11插座,称为RJ-11桥接电路。本设备采用USB总线的供电方式。
3.1.1 USB接口电路设计
USB接口电路的原理如图3所示。
R3是上拉电阻器,它可使USB口的D+端上拉到DS2490S的VB端,表示USB主机系统是高速设备,同时这个上拉电阻器告诉主机有USB设备插入。该上拉电阻器的设置对适配器的影响很大,它的负载值和1-Wire网络的总长决定1-Wire总线电压上升到5 V的速度。经过实验测试选择R3的阻值为27 Ω±lO%。R1、R2为USB数据线保护电阻器。L、L2具有禁止高频干扰并且减弱EMI辐射的功能。LF33CV为3.3 V电压稳压器,与周围元件C1、C2组成强上拉部分,给EEPROM或温度传感器等器件提供额外的电源。
3.1.2 RJ-ll桥接电路的设计
RJ-11桥接电路的原理如图4所示。
DS2490S是USB口与l-Wire器件的桥接电路,可直接连至USB主机系统。它可产生严格定时和受电压摆率控制的1-Wire波形,并且可满足USB接口通信协议的要求,保证USB口与l-Wire器件正常、安全地通信。
晶体振荡器电路主要由X1构成,在整个系统中非常重要,可保证DS2490S稳定工作。为了产生12Mb/s的USB总线速率,系统使用12 MHz的晶体振荡器。电容器的接入是为了使晶体振荡器更容易起振。肖特基二极管D1,D2可消除来自于ESD采样数的尖峰信号或通过分别导通D1,D2至GND,交叉耦合其他的邻近电缆,防止l-Wire总线过电压。电阻器R5可限制ESD的电流并保护D1和D2。R4、R5和D3组成谐振电路,其特有的静电晶体振荡器放电功能可对1-Wire总线起到保护作用。
建议在1-Wire网络应用中使用阻抗约100 Ω非屏蔽双绞电缆。在本电路设计中考虑到这方面的原因,将R4、R5的阻值定为1 kΩ,满足了适配器数据通信的要求。整体电路原理如图5所示。
3.2 适配器软件设计
软件设计主要包括计算机端USB接口驱动程序模块设计和DS2490S桥接模块与读取DS2432模块的固件设计。在设计中将软件程序模块化,可方便调试和完善。本适配器软件的设计是在Win-dows2000系统环境下进行的,设计工具是VisualC++和DriverStudio。Maxim公司为软件开发者提供了大量的驱动程序和测试代码,使用时仅需针对具体情况进行修改。这里不对源代码进行赘述,仅给出加密软件流程,如图6所示。
4 适配器通信信号性能测试
对于远程1-Wire测量网络的通信,在核实信号时,尤其是在电缆末端,必须使用差分探测器和探测器的地浮动参考。另外,探测器的地连接将设旁路1-Wire参考地并改变系统的拓扑。如果没有采用差分探测器,必须从总线地通过变压器或使用电池供电的示波器隔离示波器的地。二者选其一来分离示波器电源供电电缆的安全地。当从远端反射信号时,在图形下降沿末尾的中心会产生一些波动(俗称“鞍”),这是传输线的自然动作。电缆短于100 m时看不到该“鞍”。由于条件所限,本适配器的通信信号性能测试在实验室内进行。将适配器接入主机USB接口,再将示波器接入主机,来扫描适配器传输的信号。图7所示为示波器扫描时序。由图中可以看出输入/输出信号的时序基本满足1-Wire器件的信号时序,未出现尖峰或混沌现象,适配器的工作基本稳定。
5 结束语
本设计在适配器硬件、用户软件及身份认证方面做了一些探索性工作。1-Wire总线设备是Maxim公司力推的产品,虽然价格较高,上市时间不长,在业界还没有得到广泛的应用,但具有众多优点,将会有很好的应用前景。