摘要: 为了在脱离计算机系统情况下实现信号的转换需要, 文中提出了一种基于CO2128和DSP的总线信号转换设计方案, 给出了信号转换装置的硬件和软件设计方法。
0 引言
随着信息科学的快速发展, 人们对数据采集后的信号形式的要求越来越多, 单一的信号形式已经没有办法满足实际工程的需要。网络信号、USB总线信号、RS232总线信号以及CAN总线信号等形式是目前应用比较广的总线形式, 但它们之间的互换仍然存在问题, 一直受到复杂的网络协议所限。而对于网络信号的转换, 都得通过复杂的算法才能实现, 因而无法满足对时实性要求较高的场合。
1 系统总体设计
本文给出的基于CO2128器件的网络信号转换平台主要通过CO2128提供的端口来实现CAN总线、RS232总线、USB总线及网络端口间的相互转换。该设计在保证数据准确的前提下, 减少系统开销和提高速度是本设计的重点。通过设计,进而能够构成一个中型/大型的远程监控/数据传输网络, 其中CAN-以太网设备的功能是实现从CAN总线数据到以太网数据的“透明” 传输。本设计的总体结构如图1所示。
图1 系统总体结构框架。
2 硬件设计
2.1 CO2128简介
CO2128SEC固件可支持10个同时主动的TCP/UDP Socket 连接、两个侦听Socket 和一个加密SSL3/TLS1 Socket。其加密特性包括一个硬件随机数字产生器、SHA-1/256 加密Hash 加速器、AES-128/192/256加密加速器、3DES和SSL3/TLSI、WEP、WPA以及WPA2 WiFi加密。同时还配置了在LAN/WiFi和PSTN/GRPS/CDMA间的路由IP包。在这种称为iRouter的模式下, 多个iChip可在没有AP的情况下组成一个ad-hoc网络。
CO2128SEC可以在主处理器的内存中保存Internet协议栈和配置参数。该固件能够从CO2128SEC外部SPI Flash运行。也可以通过RS-232、两线制接口、SPI或USB来装载固件。该芯片内部包括一个32位ARM7TDMI RISC处理器内核、256KB的SRAM以及可访问外部存储器或通讯设备的BUS, 同时集成了BootLoader, 能通过接口从主处理系统装载固件。CO2128SEC的外围设备包括带有RMII的10/100 BaseT以太网MAC、USART、两个SPI、两线制接口、HPI和EBI高速并行接口。此外, 还具有多种节能工作模式。
iChipSec CO2128 器件克服了加密的端对端IP通讯的所有复杂障碍。它不需要大量地改编程序, 因为CO2128 使用AT+i API, 因而从主机设备卸载了WiFi驱动、安全加密和网络协议等荷载, 从而大大减轻了主处理器的负担。CO2128可支持LAN、WiFi和所有拨号上网/无线网络接入类型, 它内置充分安全的TCP/IP协议栈和上层协议(如SMTP、POP3、MIME、HTTP、WAP、FTP和Telnet)。同时包含一个完整的Web服务器, 可用于芯片参数配置和简单的应用程序管理。该芯片可利用十个同时的TCP/UDP Socket和二个侦听的Socket 以及POP3、SMTP、MIME、FTP、Telnet、HTTP/HTTPS客户端, 支持SerialNET模式。
而且在此模式下, iChip可截取AT+i命令并让主设备进入Internet模式。此后, iChip将透明发送主设备发来的任何AT命令到通讯设备。
2.2 DM9161收发器
DM9161是一种100/10M自适应快速以太网物理层单片收发器, 可支持自动路由功能和自动的协议选择功能。同时, 由于其内部具有需延修整功能的网络滤波器, 所以, 其外围电路不需要增加滤波器, 这样可以减小外部辅助电路。
2.3 DSP芯片
本设计中使用的DSP 是TI 公司的TMS320LF2407, 这款DSP具有SCI和CAN总线接口, 并可以通过简单的程序快速地实现两种信号的转换。TMS320LF2407采用高性能静态CMOS技术, 供电电压为3.3 V, 故可减小控制器的功耗。
30MIPS的执行速度使得指令周期缩短到33 ns,从而提高了控制器的实时控制能力。
但在设计网络接口时, 要十分注意PCB板的信号线布局。通常要把网络变压器放在距离DM9161 和RJ45 插座尽量近的地方, 且距离DM9161不能超过20 mm; 把50Ω的终端电阻放在离网络变压器和DM9161的RX+-, TX+-引脚尽量近的地方。50欧电阻和RX、TX的接地电容需放在DM9161附近, 不能超过10 mm; 25 MHz晶体不能放在重要信号周围。从DM9161的RX到网络变压器和RJ45的走线必须对称、直接、平行并靠拢。不要走直角、走45度。布RX和TX时, 应避免使用过孔。RX、TX、CLK和电源走线要求尽量短。RX和TX不能交叉, 相距要在3 mm以上,在之间布根地线。从DM9161的RX和TX对到RJ45之间不要走任何数字线路。要保持这两对信号远离其它信号和大地。在网络变压器和RJ45下面决不能有地平面或电源平面。所有RJ45的终端引脚(4, 5, 7, 8) 和网络变压器必须紧靠在一起并通过一颗电阻和0.01 uF/2 kV 电容接地。
BANDGAP电阻必须布在尽量靠近47和48脚旁边(不超过3 mm)。应避免让任何高速信号位于这个电阻附近(到晶振必须大于3 mm)。图2所示是本系统物理层和网络接口的硬件电路。
图2 物理层及网络接口的硬件电路。
3 系统软件设计
利用程序可以完成二部分功能。一是驱动CO2128, 这部分通常由专用软件来完成; 另一部分就是DSP的信号转换程序, 其具体程序流程如图3所示。
图3 DSP程序流程。
3.1 CO2128驱动及网络参数设置
驱动CO2128及IP/TCP参数的设置均可由ichip提供的专用程序来实现, 该程序的操作界面简单, 操作灵活方便。修改后的网络参数都由一个FLASH存储, 每次开机自动调入到CO2128内部的存储器中, 无须重新设置, 其参数设置界面示意图如图4所示。
图4 CO2128的参数设置界面。
3.2 DSP驱动及转换程序
DSP初始化程序如下:
*SCSR1=0X81FE;*WDCR=0X0a8;//启动看门狗
asm (" SETC INTM ") ; //禁止总中断
*IMR=0X0017;//11, 65.4321, SCI 接收中断在int1, 定时器1 中断在int2, CAN中断在int5,ADC中断在int6
*IFR=0X0FFFF;
*EVAIFRA=*EVAIFRA|0x0ffff;//清除定时器1中断标志
*EVAIMRA=*EVAIMRA|0x0ffff;//允许定时器1中断
*T1CON=0x1700;//预分频值为128, *T1PER=0x0f424;//200ms
*T1CNT =0x00;//定时器清零*T2CON =0x1700;//预分频值为128
*T2PER=0x0006;//5-16微秒*T2CNT=0x00;//定时器清零
*MCRA =0x7;//*MCRA = ( *MCRA) |0X3;
*XINT1CR=0X0005;//外部中断控制寄存器
asm (" CLRC INTM ") ;//开中断
4 结束语
通过实际测试证明, 该设计的串口的速度可以达到20 kb/s, 误码率小于10-9, 完全可以满足实际工程需要。本设计中的网络信号接收模块电路和RS232转CAN总线模块电路还可以分别将信号处理后的数据直接送到显示设备输出。另外,本设计的可移植性较强, 各个模块电路可以分别安装调试, 因而具有很好的灵活性。
[1]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[2]. RS-232 datasheet https://www.dzsc.com/datasheet/RS-232_584855.html.
[3]. TMS320LF2407 datasheet https://www.dzsc.com/datasheet/TMS320LF2407_309787.html.
[4]. PCB datasheet https://www.dzsc.com/datasheet/PCB_1201640.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。