999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的飛行模擬器通信接口設(shè)計(jì)

2014-09-23 03:17:50海軍航空兵學(xué)院遼寧葫蘆島125001
電子設(shè)計(jì)工程 2014年3期
關(guān)鍵詞:單片機(jī)信號(hào)設(shè)計(jì)

姜 輝(海軍航空兵學(xué)院 遼寧 葫蘆島 125001)

基于FPGA的飛行模擬器通信接口設(shè)計(jì)

姜 輝(海軍航空兵學(xué)院 遼寧 葫蘆島 125001)

在飛行模擬器的設(shè)計(jì)中,為了使數(shù)據(jù)能夠快速有效地在飛行模擬器的各個(gè)模塊之間進(jìn)行高速傳遞,提出了一種使用FPGA作為CAN總線節(jié)點(diǎn)結(jié)構(gòu)中的核心處理器的設(shè)計(jì)方法,并完成了飛行模擬器通信接口的軟硬件設(shè)計(jì)。采用Verilog HDL進(jìn)行編程,能夠完成對(duì)SJA1000總線控制器的有效讀寫。實(shí)際測試表明,相較于單片機(jī)作為處理器,本設(shè)計(jì)可擴(kuò)展性好,易于修改和移植,能降低模擬器成本。

飛行模擬器;FPGA;通信接口;CAN總線

飛行模擬器是現(xiàn)代飛行員訓(xùn)練的必需設(shè)備,它是一種由計(jì)算機(jī)實(shí)時(shí)控制、多系統(tǒng)協(xié)調(diào)工作、能模擬真實(shí)飛行環(huán)境的模擬設(shè)備。相較于利用飛機(jī)的飛行訓(xùn)練而言,利用飛行模擬器的模擬飛行訓(xùn)練不僅不受天氣等自然條件的制約,而且沒有后勤、機(jī)務(wù)保障以及飛行安全等因素的限制[1]。國內(nèi)外許多單位均研制了各種不同種類和規(guī)模的訓(xùn)練模擬器,并取得良好的訓(xùn)練效果,保證了飛行任務(wù)的圓滿完成。

在飛行模擬器的設(shè)計(jì)中,要求大量的信息能夠快速有效地在飛行模擬器的各個(gè)模塊之間進(jìn)行高速傳遞,這就需要一定的通信接口協(xié)議來實(shí)現(xiàn)數(shù)據(jù)的交互[2]。目前,飛行模擬器通常采用CAN總線作為通信協(xié)議,并采用單片機(jī)作為微處理器,可擴(kuò)展性差。文章根據(jù)飛行模擬器的結(jié)構(gòu)特點(diǎn),分析了現(xiàn)場總線技術(shù)和FPGA技術(shù)的發(fā)展,根據(jù)飛行模擬器的實(shí)際需要和總線自身特點(diǎn),選用了CAN總線來作為主機(jī)和現(xiàn)場設(shè)備的通信方式,并使用FPGA 作為CAN總線節(jié)點(diǎn)結(jié)構(gòu)中的核心處理器,對(duì)飛行模擬器通信接口進(jìn)行了設(shè)計(jì)。

1 硬件系統(tǒng)設(shè)計(jì)

CAN(Controller Area Network)總線是一種串行通信總線,是國際上應(yīng)用最廣泛的開放式現(xiàn)場總線之一。CAN最早被設(shè)計(jì)作為汽車環(huán)境中微控制器的通訊,但由于其靈活性好、可靠性高、功能完善,已經(jīng)被廣泛應(yīng)用到各個(gè)自動(dòng)控制領(lǐng)域,CAN總線具有根據(jù)優(yōu)先級(jí)的多主結(jié)構(gòu)、可靠的錯(cuò)誤檢測和處理機(jī)制、傳輸速率高(最高可達(dá)1 Mb/s)、傳輸距離遠(yuǎn)(波特率低于5 kb/s時(shí)最遠(yuǎn)可達(dá)10 km),克服了RS-485網(wǎng)絡(luò)的低總線利用率、單主從結(jié)構(gòu)、無硬件錯(cuò)誤檢測的不足。在飛行模擬器的設(shè)計(jì)過程中,主控機(jī)需要與多個(gè)模塊進(jìn)行交互,選用CAN總線接口是非常適合的。

飛行模擬器通信接口的硬件設(shè)計(jì),以CAN總線作為通信協(xié)議,選用ALTERA公司CYCLONE系列EP1C6Q240C8作為CAN節(jié)點(diǎn)的核心處理器,采用Philips公司的SJA1000T作為CAN總線控制器,在CAN總線控制器與CAN物理總線之間選用PCA82C250作為CAN收發(fā)器,為了增強(qiáng)抗干擾能力,保護(hù)CAN總線控制器,在SJA1000T與PCA82C250之間使用6N137進(jìn)行光電隔離,其速度為10 MHz。在Quartus II軟件中運(yùn)用Verilog對(duì)FPGA編程,實(shí)現(xiàn)對(duì)SJA1000T的控制及CAN節(jié)點(diǎn)之間的通信功能。接口電路設(shè)計(jì)如圖1所示。

SJA1000芯片是一款獨(dú)立的CAN總線控制器,相對(duì)于它的前一款PCA82C200,SJA1000是在原有的BasicCAN模式的基礎(chǔ)上增加了PeliCAN模式,這種模式能夠支持CAN2.0B協(xié)議。為了提高SJA1000的總線驅(qū)動(dòng)能力,在SJA1000與CAN總線之間加入了PCA82C250總線收發(fā)器,其主要功能是增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾,實(shí)現(xiàn)熱防護(hù)等[3]。

圖1 CAN接口配置電路圖Fig. 1 Circuit diagram of the CAN interface configure

系統(tǒng)設(shè)計(jì)中選用FPGA作為CAN總線節(jié)點(diǎn)的核心處理器,能夠在速度和體積上有更好的適應(yīng)性,可以增強(qiáng)飛行模擬器通信接口設(shè)計(jì)的靈活性和可擴(kuò)展性,因?yàn)樵陲w行模擬器設(shè)計(jì)中,有時(shí)還需要用到其他通信接口,比如括RS232和RS422。EP1C6Q240是ALTERA公司推出的一款高性價(jià)比的FPGA,工作電壓為3.3 V,內(nèi)核電壓1.5 V,采用0.13 μm工藝技術(shù),其內(nèi)部具有5 980個(gè)LEs,含有20個(gè)MK4 RAM塊(128×36 bits),總的RAM空間共計(jì)92 160比特,內(nèi)嵌2個(gè)鎖相環(huán)電路,最大用戶I/O為185個(gè),配置芯片選用EPCS1,對(duì)于FPGA的下載方式,通??梢圆捎肑TAG方式和AS方式,不同下載方式,其硬件連接方式不用。JTAG方式,下載程序到FPGA芯片內(nèi)RAM中,F(xiàn)PGA芯片內(nèi)的程序掉電后無法保存,JTAG下載方式適合調(diào)試程序時(shí)使用,而AS方式則能將程序下載到配置芯片內(nèi),配置芯片內(nèi)的程序掉電后也可以保存,再次上電后自動(dòng)裝載到FPGA內(nèi)并由FPGA開始運(yùn)行。

在CAN總線接口硬件設(shè)計(jì)中,主要是CAN總線控制器與FPGA以及CAN總線控制器與CAN總線收發(fā)器之間的接口電路設(shè)計(jì)。在設(shè)計(jì)時(shí),相比于采用單片機(jī)作為微處理器的設(shè)計(jì),F(xiàn)PGA具有豐富的I/O端口,為了使FPGA的3.3V I/O接口電平與SJA1000 的5 V TTL電平標(biāo)準(zhǔn)相匹配,在FPGA與SJA1000連接時(shí)需要使用74ALVC164245電平轉(zhuǎn)換器,這樣CAN總線控制器SJA1000的AD0~AD7、片選信號(hào)CS、RD、WR、ALE、INT、MODE分別經(jīng)過電平轉(zhuǎn)換器再與FPGA的I/O相連。為了增強(qiáng)抗干擾能力,總線控制器SJA1000的發(fā)送輸出端TX0與接收輸入端RX0分別經(jīng)集成光電耦合器6N137,與總線收發(fā)器PCA82C250的TXD和RXD相連,PCA82C250的CANH、CANL端口直接與CAN物理總線相連。PCA82C250是CAN總線控制器和物理總線之間的接口,具有可向總線差動(dòng)發(fā)送數(shù)據(jù)和從CAN總線控制器差動(dòng)接收數(shù)據(jù)的功能。另外,SJA1000的RX1引腳與PCA82C250的VREF引腳相連,使用輸入比較器旁路功能,可減少內(nèi)部延時(shí),增加正常通信的總線長度[4]。

2 軟件系統(tǒng)設(shè)計(jì)

CAN總線節(jié)點(diǎn)的軟件的設(shè)計(jì)主要是對(duì)FPGA進(jìn)行編程,一方面對(duì)飛行模擬器各類接口數(shù)據(jù)的采集和輸出,另一方面是對(duì)SJA1000的接口邏輯程序,來控制CAN 總線的工作方式和工作狀態(tài),進(jìn)行數(shù)據(jù)的發(fā)送和接收。這里主要介紹FPGA對(duì)總線控制器的程序設(shè)計(jì),主要包括對(duì)SJA1000的初始化邏輯、數(shù)據(jù)發(fā)送邏輯和數(shù)據(jù)接收邏輯。由于SJA1000地址總線與數(shù)據(jù)總線復(fù)用,這就需要FPGA不僅要產(chǎn)生SJA1000讀寫控制引腳的信號(hào)邏輯,還需要產(chǎn)生對(duì)SJA1000的尋址信號(hào),實(shí)際上是一個(gè)向SJA1000寫地址的過程。因此設(shè)計(jì)的關(guān)鍵就是把SJA1000中的寄存器地址當(dāng)成數(shù)據(jù)寫入到SJA1000中,同時(shí)配合地址鎖存信號(hào)ALE和寫允許信號(hào)WR完成對(duì)SJA1000特定寄存器的命令字寫入[5-6]。

2.1 SJA1000初始化邏輯

初始化邏輯的主要功能是在系統(tǒng)上電或重啟后,對(duì)SJA1000進(jìn)行初始化,以確定工作主頻、波特率、輸出特性等。SJA1000支持兩種模式,即BasicCAN模式和PeliCAN模式,BasicCAN模式是上電后默認(rèn)的操作模式。SJA1000的初始化邏輯主要包括工作方式的設(shè)置、驗(yàn)收濾波方式的設(shè)置、驗(yàn)收屏蔽寄存器(AMR)和驗(yàn)收代碼寄存器(ACR)的設(shè)置、中斷允許寄存器( IER) 的設(shè)置、總線定時(shí)寄存器(BTR0、BTR1)、輸出控制寄存器(OCR)和時(shí)鐘分頻器(CDR)的設(shè)置等。在完成SJA1000 的初始化設(shè)置以后, SJA1000 就可以回到工作狀態(tài),進(jìn)行正常的通信任務(wù)。

2.2 數(shù)據(jù)發(fā)送邏輯

數(shù)據(jù)發(fā)送邏輯需要FPGA通過模擬總線的方法對(duì)SJA1000進(jìn)行控制,SJA1000的發(fā)送緩沖區(qū)的寄存器共有11個(gè)字節(jié),其中前3個(gè)字節(jié)分別是幀信息字節(jié)和兩個(gè)標(biāo)識(shí)碼,后8個(gè)字節(jié)是數(shù)據(jù)。發(fā)送時(shí),用戶需要將待發(fā)送的數(shù)據(jù)按特定的格式組合成一幀報(bào)文,送入SJA1000的發(fā)送緩沖區(qū)中,然后啟動(dòng)SJA1000發(fā)送即可。需要注意的是,在向SJA1000發(fā)送緩存區(qū)送報(bào)文之前, 必須先判斷發(fā)送緩沖區(qū)是否鎖定,如果鎖定則等待; 判斷上次發(fā)送是否完成, 如未完成則需等待發(fā)送完成。總線控制器寫周期的時(shí)序圖如圖2所示。

圖2 總線控制器寫周期時(shí)序圖Fig. 2 Write cycle timing diagram of the CAN bus controller

2.3 數(shù)據(jù)接收邏輯

與數(shù)據(jù)發(fā)送邏輯類似,從接收緩沖區(qū)中讀取一條報(bào)文也需要連續(xù)讀取11個(gè)字節(jié),數(shù)據(jù)接收邏輯除了正常的報(bào)文數(shù)據(jù)接收,還要實(shí)現(xiàn)其他情況的處理。對(duì)接收緩沖區(qū)的數(shù)據(jù)讀取完畢后要釋放CAN接收緩沖區(qū)。圖3所示為總線控制器讀周期的時(shí)序圖。

圖3 總總線控制器讀周期時(shí)序圖Fig. 3 Read cycle timing diagram of the CAN bus controller

在FPGA程序編寫時(shí),采用狀態(tài)機(jī)完成邏輯的設(shè)計(jì),分別包括初始化狀態(tài)、空閑狀態(tài)、查詢狀態(tài)、數(shù)據(jù)接收狀態(tài)、數(shù)據(jù)發(fā)送狀態(tài)。

3 結(jié) 論

在系統(tǒng)設(shè)計(jì)過程中,采用ALTERA公司的EP1C6型FPGA進(jìn)行設(shè)計(jì),在Quartus II環(huán)境中利用Verilog HDL編程產(chǎn)生SJA1000的片選信號(hào)、地址鎖存信號(hào)以及讀寫信號(hào)等,這些信號(hào)共同驅(qū)動(dòng)SJA1000完成數(shù)據(jù)的發(fā)送和接收。在采用FPGA實(shí)現(xiàn)對(duì)SJA1000的邏輯控制過程中,采用Quartus II中的SignalTap II Logic Analyzer工具對(duì)FPGA各接口信號(hào)進(jìn)行了測量,經(jīng)檢查各種邏輯均符合SJA1000的接口時(shí)序要求。

基于FPGA[7]的飛行模擬器通信接口設(shè)計(jì)主要由Verilog語言進(jìn)行描述,易于修改和移植,同時(shí)由于FPGA的I/O豐富,還可以將模擬器中一些常用的開關(guān)量連接到FPGA上,這樣就可以將多種功能集成在一個(gè)FPGA上,相較于采用單片機(jī)控制SJA1000實(shí)現(xiàn)CAN總線通信,本設(shè)計(jì)方案可擴(kuò)展性好,穩(wěn)定性高,能降低成本、系統(tǒng)體積及功耗,在飛行模擬器領(lǐng)域中具有廣泛的應(yīng)用前景。

[1] 黃安祥.現(xiàn)代軍機(jī)先進(jìn)仿真技術(shù)與工程設(shè)計(jì)[M].北京:國防工業(yè)出版社,2006.

[2] 徐強(qiáng),顧宏斌,高振興.飛行模擬器座艙儀表通信技術(shù)研究[J].信息技術(shù),2012(1):1-4.

XU Qiang,GU Hong-bin,GAO Zhen-xing.Research on communication technology of the cockpit instrument in flight simulator[J].Information Technology,2012(1):1-4.

[3] 陳萍,姜秀杰.基于FPGA的CAN總線通信系統(tǒng)[J].計(jì)算機(jī)測量與控制, 2009,17(12):2482-2484.

CHEN Ping,JIANG Xiu-jie.System for CAN bus communication based on FPGA[J].Computer Measurement&Control,2009,17(12):2482-2484.

[4] 李明雄,汪明,李曉明.基于FPGA的嵌入式CAN通信卡的設(shè)計(jì)[J].機(jī)電工程,2010,27(12):78-83.

LI Ming-xiong,WANG Ming,LI Xiao-ming.Design of the embedded CAN communication card based on FPGA[J].Journal of Mechanical & Electrical Engineering, 2010,27(12):78-83.

[5] 湯書森,劉棟,李建明.基于FPGA的CAN總線控制器SJA1000軟核的設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng),2011(4):23-25.

TANG Shu-sen, LIU Dong, LI Jian-ming. FPGA-based soft core SJA1000 CAN bus controller design[J].Microcontrollers& Embedded Systems, 2011(4):23-25.

[6] 饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2003.

[7] 陳亮,劉金學(xué).基于DSP和FPGA的導(dǎo)航計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012(2):1-3,6.

CHEN Liang,LIU Jin-xue.Design of navigation computer system based on DSP and FPGA[J].Modern Electronics Technique,0012(2):1-3,6.

Design of fl ight simulator communication interface based on FPGA

JIANG Hui
(Navy Aviation Institute, Huludao 125001, China)

In the design of the flight simulator, in order to have the data conveyed quickly and efficiently among every model of the flight simulator, the new design come up with a method using FPGA as the processor of CAN bus and finish the hardware and software’s design of flight simulator’s interface communication. The software system adopts the Verilog HDL to program. The system can accomplish the reading and writing efficiently to controller of SJA1000 CAN bus. Comparing to using the MCU as processor, the experiment shows that this design which is expendability can be changed and easy-to-port and cut down the cost of the simulator.

flight simulator; FPGA; communication interface; CAN bus

TN919

A

1674-6236(2014)03-0088-03

2013–06–27 稿件編號(hào):201306193

姜 輝(1963—),男,遼寧鐵嶺人,高級(jí)工程師。研究方向:飛行模擬仿真。

猜你喜歡
單片機(jī)信號(hào)設(shè)計(jì)
信號(hào)
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
瞞天過?!律O(shè)計(jì)萌到家
基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
電子制作(2018年11期)2018-08-04 03:25:42
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號(hào)采集與PID控制
主站蜘蛛池模板: 91在线一9|永久视频在线| 一本大道视频精品人妻 | 国产不卡在线看| 国产激爽大片高清在线观看| 国产办公室秘书无码精品| 国产精鲁鲁网在线视频| 日韩成人在线视频| 爱色欧美亚洲综合图区| 日韩激情成人| 久久综合婷婷| Aⅴ无码专区在线观看| 国产欧美视频综合二区| 在线精品亚洲一区二区古装| av色爱 天堂网| 又粗又大又爽又紧免费视频| 国产精品视频999| 亚洲国产无码有码| 丁香五月激情图片| 亚洲中文精品人人永久免费| 996免费视频国产在线播放| 永久免费无码日韩视频| 国产精品太粉嫩高中在线观看| 欧洲亚洲欧美国产日本高清| 国产精品网址你懂的| 99视频在线免费| 久久国产精品麻豆系列| 国产又粗又爽视频| 国产亚洲精品资源在线26u| 久久青草精品一区二区三区| 亚洲女同一区二区| 伊人久久婷婷| 无码在线激情片| 亚洲日韩日本中文在线| 国产免费黄| 成人福利在线视频免费观看| 国产成人免费高清AⅤ| 亚洲中文字幕国产av| 亚洲系列无码专区偷窥无码| 国产Av无码精品色午夜| 国产精品免费福利久久播放| 97久久精品人人| 无码啪啪精品天堂浪潮av| 老司机aⅴ在线精品导航| 日本草草视频在线观看| 亚洲男人天堂2018| 思思热精品在线8| 日本欧美精品| 天天综合天天综合| 香蕉视频在线观看www| 欧美特级AAAAAA视频免费观看| 亚洲最大在线观看| 免费在线不卡视频| 亚洲无码高清免费视频亚洲 | 一级成人a毛片免费播放| 日本精品影院| 中国特黄美女一级视频| 亚洲人成网址| 国产日韩AV高潮在线| 在线观看亚洲成人| 全部免费特黄特色大片视频| 亚洲伊人久久精品影院| 福利在线一区| 萌白酱国产一区二区| 久久精品午夜视频| jizz亚洲高清在线观看| 国产精品美人久久久久久AV| 成人国产免费| 久久久无码人妻精品无码| 亚洲开心婷婷中文字幕| 亚洲va精品中文字幕| 亚洲制服丝袜第一页| 大学生久久香蕉国产线观看| 国产在线高清一级毛片| 成年人视频一区二区| 无码高潮喷水在线观看| 欧美a级完整在线观看| 美女视频黄频a免费高清不卡| 国产精品成人第一区| 亚洲欧美不卡视频| 91精品国产自产在线老师啪l| 久久青草精品一区二区三区| 欧日韩在线不卡视频|