CAN总线作为最有前途的现场总线之一,其应用范围已逐渐扩展到航空领域,并有望作为次级总线与目前的航空总线互连组网。ARINC429总线则是航空领域比较常用的航空总线之一,很多航空电子设备都采用此总线。解决好CAN总线与ARINC429总线的互连问题,必将能够使CAN总线在航空领域得到更广泛的应用。本文的工作就是为解决这一总线互连问题而开发出总线网关系统,即CAN-ARINC429网关。 随着嵌入式技术的飞速发展,嵌入式系统的成本低、体积小、稳定性好等众多优点使其应用领域越来越广。本课题将嵌入式技术应用到CAN-ARINC429网关系统开发中,采用比较有影响力的嵌入式处理器ARM作为网关系统的核心,开发了网关系统的硬件部分和软件部分。 本文着重讨论了CAN-ARINC429网关系统设计的三大部分:硬件设计、控制软件设计和用户软件设计。硬件设计部分完成了CAN和ARINC429的总线数据收发电路设计,以及ARM处理器分别与CAN总线控制器和ARINC429总线协议芯片的接口电路设计。控制软件部分是在Linux平台下开发的,因此本文控制软件部分首先研究并实现了Linux平台下ARM编译系统的建立,其后的程序启动代码和总线数据交换设计是控制软件的关键部分,CAN总线和ARINC429总线的数据收发程序设计在本文的控制软件部分中也都有详细讨论。本文还开发了基于Windows平台的用户软件,该用户软件是为提高CAN-ARINC429网关的通用性而设计,具有网关工作方式设置和功能测试等功能。在给出对CAN-ARINC429网关的测试报告后,本文对课题的研究工作进行了总结和展望。
上传时间: 2013-04-24
上传用户:cccole0605
本文在深入研究MIL-STD-1553B总线传输协议以及国外协议芯片设计方法的基础上,结合目前较流行的EDA技术,基于Xilinx公司Virtex-II系列FPGA完成了1553B总线接口协议设计实现,并自行设计实验板将所做的设计进行了验证。论文从专用芯片实现的具体功能出发,结合自顶向下的设计思想,给出基于FPGA的总线接口协议设计的总体方案,并根据功能的需求完成了模块化设计。文章重点介绍基于FPGA的总线控制器(BC)、远程终端(RT)、总线监视器(MT)三种类型终端设计,详细给出其设计逻辑框图、引脚说明及关键模块的仿真结果,最终通过工作方式选择信号以及其它控制信号将三种终端结合起来以达到通用接口的功能。本设计使用硬件描述语言(VHDL)进行描述,在此基础上使用Xilinx专用开发工具对设计进行综合、布局布线等,最终下载到FPGA芯片XC2V2000中进行实现。 文章最后通过自行搭建的硬件平台对所做的设计进行详细的测试验证,选择ADSP21161作为主处理器,对。FPGA芯片进行初始化配置以及数据的输入输出控制,同时利用示波器观测FPGA的输出,完成系统的硬件测试。测试结果表明本文的设计方案是合理、可行的。
上传时间: 2013-08-03
上传用户:kennyplds
PROFIBUS现场总线技术是当今控制领域的一个热点。目前国内对于PROFIBUS-DP的应用和研究主要以西门子等国外大公司的成套设备为主,用单片机+固态程序的方法做PROFIBUS-DP接口控制器的技术比较成熟,而自主开发PROFIBUS-DP通用接口的研究却比较少。针对这一现状,本论文采用FPGA做控制器,提出了基于FPGA技术的从站接口通信模块的设计方案,使具有RS-232接口的从站可以通过该接口通信模块与PROFIBUS-DP主站进行通讯连接。 论文首先对PROFIBUS现场总线技术进行概述,主要从现场总线的技术特点、协议结构、传输技术、存取协议等方面进行介绍。对PROFIBUS-DP系统组成和配置、工作方式及数据传递、DP的功能和从站状态机制等进行研究和分析。然后详细论述了基于PROFIBUS-DP的通信接口的硬件及软件实现。 在硬件设计中,本文从PROFIBUS协议芯片SPC3实现的具体功能出发,结合EDA(Electronic Design Amomation)设计自项向下的设计思想,给出了总线接口的总体设计方案。同时给出其设计逻辑框图、算法流程图、引脚说明以及部分模块的仿真结果。并充分考虑了硬件的通用性及将来的扩展。 本设计使用VHDL描述,在此基础之上采用专门的综合软件对设计进行了综合优化,最后在FPGA(Field Programmable Gate Array)芯片EP1C6上得以实现。在软件设计中,详细介绍了通信接口的软件设计实现,包括状态机的实现、各种通信报文的实现、GSD文件的编写等。 再通过Siemens公司的CP5611网络接口卡和PC机做主站,使用COMPROFIBUS组态软件,组建系统进行通讯测试,得到良好结果。
标签: PROFIBUSDP FPGA 接口
上传时间: 2013-05-25
上传用户:xwd2010
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
开关在电路中起接通信号或断开信号的作用。最常见的可控开关是继电器,当给驱动继电器的驱动电路加高电平或低电平时,继电器就吸合或释放,其触点接通或断开电路。CMOS模拟开关是一种可控开关,它不象继电器那样可以用在大电流、高电压场合,只适于处理幅度不超过其工作电压、电流较小的模拟或数字信号。 一、常用CMOS模拟开关引脚功能和工作原理 1.四双向模拟开关CD4066 CD4066 的引脚功能如图1所示。每个封装内部有4个独立的模拟开关,每个模拟开关有输入、输出、控制三个端子,其中输入端和输出端可互换。当控制端加高电平时,开关导通;当控制端加低电平时开关截止。模拟开关导通时,导通电阻为几十欧姆;模拟开关截止时,呈现很高的阻抗,可以看成为开路。模拟开关可传输数字信号和模拟信号,可传输的模拟信号的上限频率为40MHz。各开关间的串扰很小,典型值为-50dB。
上传时间: 2013-10-27
上传用户:bibirnovis
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
a_bit equ 20h ;个位数存放处 b_bit equ 21h ;十位数存放处 temp equ 22h ;计数器寄存器 star: mov temp,#0 ;初始化计数器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重来 mov temp,#0 next: ljmp stlop ;显示子程序 display: mov a,temp ;将temp中的十六进制数转换成10进制 mov b,#10 ;10进制/10=10进制 div ab mov b_bit,a ;十位在a mov a_bit,b ;个位在b mov dptr,#numtab ;指定查表启始地址 mov r0,#4 dpl1: mov r1,#250 ;显示1000次 dplop: mov a,a_bit ;取个位数 MOVC A,@A+DPTR ;查个位数的7段代码 mov p0,a ;送出个位的7段代码
上传时间: 2013-11-06
上传用户:lx9076
为了实现把软件仿真的数据通过PCI总线DMA传输、处理后转换成高速视频串行数据流(LVDS数据流),设计出了基于PCI9054的数据转换模块。通过介绍PCI总线接口协议芯片PCI9054的性能、特点,分析了windows的WDM驱动程序的特点,在软硬件设计中采用把数据缓存器设置为两组SRAM的结构,两组SRAM交替进行数据存取的方式,有效克服了数据流不连续的现象,解决了形成不间断数据流和两次DMA传输之间的数据间断问题。应用结果表明,该设计可满足数字视频带宽20 MHz以内的LVDS数据流的转换与传输。
上传时间: 2014-12-26
上传用户:jisujeke