亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CAN總線(xiàn)的數(shù)據(jù)接收控制方式的設(shè)計(jì)

        2012-06-06 08:14:04劉素華沈三民黃仁杰
        電視技術(shù) 2012年1期
        關(guān)鍵詞:發(fā)送數(shù)據(jù)模擬量上位

        劉素華,沈三民,黃仁杰

        (1.中北大學(xué)電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.中北大學(xué)材料科學(xué)與工程學(xué)院,山西 太原 030051)

        CAN總線(xiàn)是國(guó)際上應(yīng)用廣泛的現(xiàn)場(chǎng)總線(xiàn)之一,是一種多主方式的串行通信總線(xiàn),已被廣泛應(yīng)用于汽車(chē)電子和航空等領(lǐng)域。C8051F040內(nèi)部集成有博世CAN控制器的混合信號(hào)系統(tǒng)級(jí)芯片(SoC),能夠?qū)崿F(xiàn)國(guó)際上標(biāo)準(zhǔn)的CAN傳輸協(xié)議本[1]。本系統(tǒng)通過(guò)C8051F040單片機(jī)和FPGA來(lái)實(shí)現(xiàn)模擬量數(shù)據(jù)和數(shù)字量數(shù)據(jù)的接收,并通過(guò)USB接口傳到上位機(jī)實(shí)時(shí)分析數(shù)據(jù)的準(zhǔn)確性。

        1 總體框圖

        數(shù)據(jù)接收系統(tǒng)的主要作用是通過(guò)CAN總線(xiàn)接口接收來(lái)自其他設(shè)備的數(shù)字量和模擬量,并可以通過(guò)USB接口傳到上位機(jī)中,實(shí)時(shí)分析數(shù)據(jù)的可靠性。系統(tǒng)涉及到的主要模塊包括CAN總線(xiàn)接口模塊、C8051F040單片機(jī)控制模塊、FPGA主控模塊以及USB接口模塊。系統(tǒng)的總體設(shè)計(jì)框架如圖1所示。

        圖1 系統(tǒng)的總體框圖

        上位機(jī)通過(guò)FT245BM和底層硬件設(shè)備進(jìn)行通信。FPGA中控單元主要是和FT245BM及單片機(jī)進(jìn)行通信,并對(duì)有關(guān)數(shù)據(jù)接收、緩存、發(fā)送等操作進(jìn)行控制。單片機(jī)內(nèi)部集成了CAN控制器,通過(guò)CAN接口接收數(shù)字量數(shù)據(jù)和模擬量數(shù)據(jù)并傳送到FPGA控制單元。CAN總線(xiàn)收發(fā)器選用的是飛利浦公司生產(chǎn)的TJA1040。CAN總線(xiàn)控制器和CAN總線(xiàn)接口之間要通過(guò)高速光電耦合器6N137進(jìn)行隔離,提高系統(tǒng)的抗干擾能力。信號(hào)傳輸易產(chǎn)生輻射和信號(hào)衰減,本文采用雙絞線(xiàn)外加金屬屏蔽層,可減少信號(hào)輻射,防止重要信息外泄,也可阻止外部電磁信號(hào)干擾的進(jìn)入,同時(shí)使用屏蔽雙絞線(xiàn)比使用非屏蔽雙絞線(xiàn)具有更高的信號(hào)傳輸速率。

        2 CAN總線(xiàn)接口接收消息的控制

        系統(tǒng)數(shù)據(jù)接收主要是通過(guò)C8051F040系列單片機(jī)內(nèi)部集成的CAN模塊進(jìn)行,其硬件電路接口如圖2所示。

        圖2 C8051F040單片機(jī)接口電路

        單片機(jī)C8051F040的CAN核控制器原理如圖3所示。

        圖3 CAN控制器的原理框圖

        在圖3中,接口單元是CPU接口;消息處理單元主要是通過(guò)狀態(tài)機(jī)控制數(shù)據(jù)從CAN核的輸入輸出移位寄存器和消息RAM之間傳輸;所有寄存器都用來(lái)控制和配置CAN模塊;CAN核控制器及輸入、輸出移位寄存器用于消息的串/并轉(zhuǎn)換及其他和協(xié)議相關(guān)的任務(wù)。CAN控制器的幀格式是系統(tǒng)自動(dòng)生成的,不需要自己去設(shè)計(jì)幀格式,只需要往相關(guān)的寄存器中寫(xiě)入相應(yīng)的內(nèi)容即可。

        系統(tǒng)接收的數(shù)據(jù)采用的是標(biāo)準(zhǔn)幀,接收數(shù)據(jù)時(shí),當(dāng)接收到的消息仲裁和控制領(lǐng)域已經(jīng)完全移到CAN核的Rx/Tx移位寄存器時(shí),消息處理的優(yōu)先狀態(tài)機(jī)便開(kāi)始掃描消息RAM來(lái)匹配一個(gè)有效的消息對(duì)象。接收過(guò)濾的單元裝入CAN核移位寄存器中的仲裁位,然后消息對(duì)象的仲裁和屏蔽信息域裝入接收過(guò)濾單元并且和CAN核移位寄存器中的仲裁信息域相比較,直到找到匹配的消息對(duì)象。這種匹配會(huì)在所有的消息對(duì)象中重復(fù)。一旦匹配出現(xiàn)則停止掃描,進(jìn)行消息處理。接收消息控制的流程如圖4所示。

        圖4 接收消息控制流程圖

        3 FPGA主控模塊

        模擬量和數(shù)字量數(shù)據(jù)的接收以FPGA作為中央控制器。主要完成的功能有接收上位機(jī)命令、向單片機(jī)發(fā)送命令、接收單片機(jī)發(fā)送來(lái)的模擬量數(shù)據(jù)和數(shù)字量數(shù)據(jù),并通過(guò)緩存模塊進(jìn)行讀寫(xiě)控制,將讀取到的數(shù)據(jù)混合編幀通過(guò)USB接口傳到上位機(jī)。FPGA主控模塊的原理如圖5所示。

        圖5 FPGA主控模塊

        如何在異步時(shí)鐘方式下實(shí)現(xiàn)同步是FPGA和單片機(jī)進(jìn)行實(shí)時(shí)通信的關(guān)鍵點(diǎn)。對(duì)于異步接口,可以采用以下兩種方式避免亞穩(wěn)態(tài)的發(fā)生:1)速率不匹配,需要緩存??梢赃x擇使用FIFO或者雙RAM口進(jìn)行緩存。2)需要握手信號(hào)??梢允褂秒p握手信號(hào),例如REQ和ACK等[2]。

        3.1 命令信號(hào)傳輸控制

        在本文中,考慮到系統(tǒng)的使用性,F(xiàn)PGA向單片機(jī)發(fā)送數(shù)據(jù)主要為命令信號(hào),需要進(jìn)行握手協(xié)議。首先FPGA需要將命令信號(hào)放在數(shù)據(jù)線(xiàn)上,同時(shí)向單片機(jī)發(fā)送請(qǐng)求信號(hào),當(dāng)單片機(jī)接收到請(qǐng)求信號(hào)后,接收FPGA發(fā)送的命令,接收完畢后,向FPGA回傳應(yīng)答信號(hào)。這樣完成一次命令的發(fā)送,以此類(lèi)推,保證了數(shù)據(jù)發(fā)送的可靠性。

        3.2 批量數(shù)據(jù)傳輸控制

        當(dāng)單片機(jī)將收到的模擬量數(shù)據(jù)和數(shù)字量數(shù)據(jù)向FPGA進(jìn)行傳送時(shí),由于數(shù)據(jù)量較大,再使用握手信號(hào)來(lái)解決亞穩(wěn)態(tài)狀態(tài)就已經(jīng)不實(shí)用了。這時(shí)需要通過(guò)緩存RAM來(lái)解決亞穩(wěn)態(tài)現(xiàn)象。在單片機(jī)和FPGA傳送數(shù)據(jù)時(shí),每次發(fā)送一個(gè)數(shù)據(jù),則需要編寫(xiě)一個(gè)控制信號(hào),本文是在wr信號(hào)的上升沿處向FPGA發(fā)送1 byte數(shù)據(jù)。

        經(jīng)過(guò)CAN總線(xiàn)傳過(guò)來(lái)的數(shù)字量和模擬量數(shù)據(jù)首先需要通過(guò)FPGA內(nèi)部的RAM模塊進(jìn)行緩存,F(xiàn)PGA通過(guò)監(jiān)測(cè)緩存模塊的半滿(mǎn)信號(hào)進(jìn)行讀取。在一般的電路設(shè)計(jì)中,只需要邏輯控制電路產(chǎn)生空信號(hào)和滿(mǎn)信號(hào),考慮到實(shí)際情況,需要邏輯控制模塊產(chǎn)生半滿(mǎn)信號(hào)和滿(mǎn)信號(hào)。由于本文有兩種類(lèi)型的數(shù)據(jù),分別是模擬量數(shù)據(jù)和數(shù)字量數(shù)據(jù)。兩種類(lèi)型的數(shù)據(jù)需要分別通過(guò)內(nèi)部FIFO進(jìn)行緩存。滿(mǎn)信號(hào)和半滿(mǎn)信號(hào)都是通過(guò)內(nèi)部邏輯控制模塊產(chǎn)生的。當(dāng)FULL=“1”時(shí),停止向 RAM 中寫(xiě)數(shù);當(dāng) FULL=“0”時(shí),同時(shí)檢測(cè)寫(xiě)使能信號(hào)和寫(xiě)控制信號(hào)的上升沿,當(dāng)條件同時(shí)滿(mǎn)足時(shí),則向RAM中寫(xiě)數(shù)據(jù),寫(xiě)RAM控制流程圖見(jiàn)圖6所示。讀取RAM數(shù)據(jù)時(shí),在復(fù)位的情況下,系統(tǒng)不做任何事情,當(dāng)不復(fù)位的情況下,系統(tǒng)優(yōu)先判斷模擬量數(shù)據(jù)緩存模塊的半滿(mǎn)信號(hào),當(dāng)moni_HF=“1”時(shí),讀取一定容量的數(shù)據(jù),并按著圖7的幀格式向上位機(jī)發(fā)送數(shù)據(jù),當(dāng)模擬量RAM沒(méi)有出現(xiàn)半滿(mǎn)時(shí)再判斷數(shù)字量RAM塊。從RAM塊讀取數(shù)據(jù)的流程圖見(jiàn)圖8,當(dāng)都沒(méi)有出現(xiàn)半滿(mǎn)時(shí)則系統(tǒng)默認(rèn)為復(fù)位狀態(tài)。

        圖6 寫(xiě)RAM塊控制流程

        圖7 模擬量和數(shù)字量幀結(jié)構(gòu)

        圖8 讀RAM塊控制流程圖

        在上位機(jī)實(shí)時(shí)監(jiān)測(cè)時(shí),傳到上位機(jī)中的數(shù)據(jù)既有模擬量也有數(shù)字量,為了能夠?qū)⑺袛?shù)據(jù)均能夠?qū)崟r(shí)地在上位機(jī)中顯示,通過(guò)幀頭幀尾來(lái)拆分。每一幀數(shù)據(jù)的幀頭均為CA AC,一旦出現(xiàn)E3 3E或者9D D9,說(shuō)明一幀數(shù)據(jù)的結(jié)束。如果為E3 3E,則實(shí)時(shí)表示數(shù)字量數(shù)據(jù),若為D9 D9,則實(shí)時(shí)表示模擬量數(shù)據(jù)。

        4 USB接口的設(shè)計(jì)

        本文是通過(guò)FT245BM和上位機(jī)進(jìn)行通信的。硬件電路和上位機(jī)進(jìn)行通信時(shí)的時(shí)序圖見(jiàn)圖9和圖10。

        在圖9中,當(dāng)FPGA檢測(cè)到TXE為低時(shí),F(xiàn)T245BM允許接收數(shù)據(jù)緩沖區(qū)發(fā)送數(shù)據(jù)到USB端口,可以通過(guò)數(shù)據(jù)總線(xiàn)將數(shù)據(jù)發(fā)送到緩存區(qū)中,發(fā)出寫(xiě)控制命令,即可發(fā)送數(shù)據(jù);當(dāng)TXE信號(hào)被硬件置高時(shí),不能發(fā)送數(shù)據(jù)。圖10中,當(dāng)FPGA檢測(cè)到RXF為低時(shí),F(xiàn)T245BM內(nèi)部發(fā)送緩沖區(qū)有來(lái)自USB接口的數(shù)據(jù),發(fā)出讀控制命令,即可以從數(shù)據(jù)總線(xiàn)讀出數(shù)據(jù)。數(shù)據(jù)讀取結(jié)束,RXF信號(hào)硬件置高時(shí),不能接收數(shù)據(jù)[3-4]。

        為了保證接收數(shù)據(jù)和發(fā)送數(shù)據(jù)正確性,一定要將關(guān)鍵性信號(hào)進(jìn)行濾波。比如TXE和RXF都必須進(jìn)行濾波,否則的話(huà),由于TXE和RXF這些信號(hào)的抖動(dòng),造成接收數(shù)據(jù)和發(fā)送數(shù)據(jù)的錯(cuò)誤。

        5 系統(tǒng)的驗(yàn)證

        整套系統(tǒng)調(diào)試中連接其他設(shè)備,啟動(dòng)整個(gè)系統(tǒng)進(jìn)行工作,并通過(guò)上位機(jī)軟件讀取到的硬件電路發(fā)送過(guò)來(lái)的模擬量數(shù)據(jù)和數(shù)字量數(shù)據(jù),原始數(shù)據(jù)見(jiàn)圖11。

        6 總結(jié)

        本文主要是通過(guò)C8051F040單片機(jī)的CAN接口接收來(lái)自其他設(shè)備的模擬量數(shù)據(jù)和數(shù)字量數(shù)據(jù),主要以單片機(jī)和FPGA為中心,實(shí)現(xiàn)了單片機(jī)和FPGA之間的通信,適當(dāng)?shù)牟捎昧藘?nèi)部緩存和握手的方法大大減小了亞穩(wěn)態(tài)造成的影響,并通過(guò)內(nèi)部邏輯控制讀寫(xiě)緩存中的數(shù)據(jù),將模擬量和數(shù)字?jǐn)?shù)據(jù)混合編幀,按著一定幀結(jié)構(gòu)通過(guò)USB接口傳到上位機(jī)中。

        圖11 上位機(jī)監(jiān)測(cè)到的混合編幀數(shù)據(jù)

        [1]饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場(chǎng)總線(xiàn)CAN原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.

        [2]吳曉蕻.跨時(shí)鐘若干問(wèn)題的研究——同步與亞穩(wěn)態(tài)[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2008.

        [3]安榮,任勇峰,李圣昆.基于FPGA和USB2.0的數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2009(3):49-51.

        [4]徐峰.基于FT245BM的多USB接口的實(shí)現(xiàn)[J].無(wú)錫職業(yè)技術(shù)學(xué)院學(xué)報(bào),2008,7(2):41-43.

        猜你喜歡
        發(fā)送數(shù)據(jù)模擬量上位
        移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
        帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
        特斯拉 風(fēng)云之老阿姨上位
        車(chē)迷(2018年12期)2018-07-26 00:42:22
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        使用IPSec安全傳輸數(shù)據(jù)
        關(guān)于600MW火電機(jī)組模擬量控制系統(tǒng)設(shè)計(jì)和研究
        電子制作(2016年21期)2016-05-17 03:53:12
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        日本中出熟女一区二区| 国产l精品国产亚洲区久久| 国产成人综合亚洲精品| 色婷婷五月综合久久| 久久精品国产亚洲av高清漫画| 天天干夜夜躁| 久久2020精品免费网站| 精品无码av一区二区三区不卡| 高h小月被几个老头调教| 欧美日韩中文国产一区发布| 97se亚洲国产综合自在线图片| 亚洲国产视频精品一区二区| 一区二区二区三区亚洲 | 国产免费一区二区三区免费视频| 波多野结衣免费一区视频| 无码久久精品蜜桃| 亚洲综合伊人久久综合| 人禽杂交18禁网站免费| 成人黄色网址| 日韩国产精品一本一区馆/在线 | 91精品国产在热久久| 帅小伙自慰videogay男男| 最新亚洲精品国偷自产在线| 少妇bbwbbw高潮| 日韩免费精品在线观看| 韩国三级中文字幕hd| 精品爆乳一区二区三区无码av| 国产精品爆乳在线播放| 视频在线播放观看免费| 国产成人精品日本亚洲i8| 免费看黑人男阳茎进女阳道视频| 亚洲色成人网站www观看入口| 亚洲国产精品午夜一区| 国产激情久久久久影院小草| 偷偷色噜狠狠狠狠的777米奇| 91麻豆精品激情在线观看最新| 国产精品人成在线765| 久久人人爽人人爽人人片av高请| 欧美人与动牲交a欧美精品| 无码伊人久久大杳蕉中文无码| 国语对白在线观看免费|