1系统总体设计
1.1系统功能分析
该系统主要分为3大功能单元:中央控制单元、429数据收发单元、429电平转换单元。系统的功能结构框图如图1所示。中央控制单元与PC机进行USB通信,将USB总线转换为自定义总线,并根据PC机发来的任务指令,通过自定义总线(数据线、地址线、控制线)控制429数据收发单元完成相应的429总线数据收发任务。
1.2主要器件选择
1.2.1 中央控制单元
中央控制单元负责与PC机进行USB通信,并控制429数据收发单元完成通信工作。该单元采用SiliconLabs公司推出的C8051F340单片机。它是完全集成的混合信号SoC级MCU芯片,片内集成有1个采样率为200ksps的10位ADC、1个可编程增益放大器、2个电压比较器、1个电压基准、1个具有5个捕捉/比较模块的可编程计数器/定时器阵列(PCA)、5个通用的16位定时器、40个通用数字I/O端口,以及1个片上64 KB的Flash存储器和4 KB的RAM,支持多种总线通信接口(I2C/SMBus、SPI、UART、USB)。C8051F340的最大指令处理速度为48 MIPS,具有片内VDD监视器、WDT和时钟振荡器,能有效地管理模拟和数字外设。
C8051F340最大的优势是在片内集成了一个USB总线控制器,与USB2.0完全兼容,支持低速和全速两种模式。这样,在硬件上只需一片C8051F340就能与PC机直接进行USB通信,无需外加USB接口芯片。
1.2.2 429数据收发单元
目前市面上的429通信专用芯片(如HS-3282、DEI1016、HI-8585)只能实现1路发送或接收,要满足本设计需求就需要8组429通信专用芯片(共计16片)。无论从成本上,还是从设计本身的可行性、可靠性来考虑,都是难以实现的。本文采用Actel公司的ProASIC3型FPGA,将设备的核心部分——429通信协议模块在FPGA中实现。这样使整体设计更加简洁,充分体现了模块化设计和SoC设计思想,同时大大降低了设计成本。
Actel公司的ProASIC3型F=PGA采用独一无二的Flash架构。与基于SRAM架构的FPGA不同,它掉电后数据不易失,无需配置芯片,从而实现了真正意义上的单芯片设计思想。同时,它支持FlashLock、AES加密技术,安全性强;最高支持350 MHz单端翻转率和700 MHz的差分信号;支持19种I/O电平标准。
2硬件设计
2.1 C8051F340接口设计
C8051F340作为设备的中央控制单元,其外围接口主要分为两部分:与PC机的USB通信接口和与ProASIC3的自定义总线接口。C8051F340的外围接口电路如图2所示。
由于C8051F340片内集成了一个USB总线控制器,因此它与上位机的USB通信直接通过D+和D-两个差分信号引脚完成的,接口非常简单。C8051F340与ProASIC3之间的通信通过C8051F340的8位数据线、16位地址线,以及读(RD)、写(WR)、复位(RESET)3个控制信号来完成。
C8051F340与ProASIC3均采用USB总线供电,C8051F340采用3.3 V供电,而ProASIC3采用3.3 V和1.5 V供电。由于USB总线提供的是5 V电源,因此在本设计中采用了美国NS公司的电源稳压芯片LMlll7。该芯片根据电压输出的不同分为不同的型号,这里选用了1.5 V和3.3 V两种型号。
2.2 429电平转换电路设计
2.2.1 429发送通道电平转换电路
429发送通道电平转换电路的功能是将ProASIC3产生的CMOS电平信号转换为429电平信号。目前有几家公司专门从事429通信芯片的生产,其中也包括429发送通道电平转换芯片。采用这种专用芯片的优点是接口电路设计简单,缺点是芯片价格昂贵。本设计的需求为8路发送通道,从成本上考虑,不易采用专用芯片,而是利用集成运放设计发送通道的电平转换电路。图3为429发送通道电平转换电路。图中的A和B是由ProASIC3产生的信号,TXA和TXB是经电平转换电路调理后形成的ARINC429信号。
表1为429发送通道电平转换电路的功能表:
该电路设计采用了Linear公司的双运放集成芯片LT1497。该芯片的最大特点为输出功率大,最大输出电流为±125 mA,完全满足ARINC429通信标准的功率要求。采用NI公司的Multisim10进行电路仿真,并实际运行测试。测试表明,仿真结果与实际运行结果一致,完全符合ARINC429通信标准要求。[page]
2.2.2 429接收通道电平转换电路
429接收通道电平转换电路的功能与429发送通道电平转换电路的功能完全相反,它是将429电平信号转换为CMOS电平信号,以便让ProASIC3对其进行处理。接收通道的电平转换采用HOLT公司的HI-8448实现。HI-8448为8路429接收芯片,可负责8路429接收通道的电平转换。
3 软件设计
系统软件程序主要由ProASIC3内核、C8051F340固件程序和上位机控制界面程序3部分组成。
3.1 ProASIC3内核设计
ProASIC3内核开发是在Actel公司提供的LiberoIDE 8.5集成开发环境下完成的。该环境集成了目前业界最权威的几大FPGA开发软件,其中综合工具采用了Synplify公司的Synthesis 9.6A工具,仿真工具采用MentorGraphic公司的Modelsim 6.4A软件。整个设计采用Verilog语言编程。ProASIC3内核的总体框架设计如图4所示。ProASIC3内核设计包括收发控制器、发送FIFO、接收FIFO、发送逻辑转换模块、接收逻辑转换模块、时钟发生器模块。收发控制器负责与C8051F340进行总线通信,协调ProASIC3内部各个模块之间的工作;发送FIFO用于缓存待发送的429数据;接收FIFO用于缓存待读取的429数据;发送逻辑转换模块是将发送FIFO送来的并行数据组合为429串行数据,然后通过端口TXA、TXB发送出去;接收逻辑转换模块是将收到的429串行数据转换为并行数据,然后通过8位数据线传给接收FIFO;时钟发生器是用于产生各个模块所需的工作时钟。
3.2 C8051F340固件程序设计
C8051F340固件程序的开发是在Silicon Labs公司的C8051Fxxx IDE集成开发环境下完成的,采用C语言编程。Silicon Labs公司专为USB开发推出了USBXpress工具,USBXpress将单片机固件程序和上位机应用程序所需的USB设备驱动函数进行了封装,开发人员只需调用相关函数即可。图5为C8051F340固件程序的流程。其中,USB_clock_Start()、USB_Init()、USB_Int_Enable()均由USBXpress工具提供,可直接调用。
3.3 上位机控制界面程序
上位机控制界面程序的开发在VC 6.0环境下完成。作为人机交互界面,其基本功能有:对设备进行复位;与设备进行USB通信;设置429通信的波特率、校验方式、数据长度;设置数据发送方式(手动或定时);设置定时发送时间;显示接收数据。
在上位机控制界面程序中,与设备间的USB通信是通过调用USBXpress工具提供的API函数完成的。USBXpress工具提供了10个API函数,其中最重要的就是SI_Write()和SI_Read()两个函数,它们分别实现写USB总线操作和读USB总线操作。
4 结 论
目前,该设备已投入某型机载设备的地面内场检测维护工作中。本文利用Silicon Labs公司的C8051F340单片机和Actel公司的ProASIC3系列FPGA设计的基于USB的便携式ARINC429总线通信设备,在地面内场检测维护工作中,工作状态稳定,性能可靠,很好地满足了预先的设计要求。
上一篇:基于单片机设计的分布式电池管理系统
下一篇:基于单片机设计的总线通信设备
推荐阅读最新更新时间:2024-03-16 13:49