新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的數據通信采集系統設計

        基于CAN總線的數據通信采集系統設計

        作者: 時間:2012-10-06 來源:網絡 收藏

        (Controller Area Network)即控制器局域網,主要用于各種設備檢測及控制的一種現場。20 世紀80 年代初,德國BOSCH 公司為解決現代汽車中眾多的控制與測試儀器之間的數據交換, 開發了一種串行協議,即

        本文引用地址:http://www.104case.com/article/148364.htm

        1.jpg

        1.1 硬件:

        由于TI 公司的TMS320F2812 型DSP 在軍事上已有應用, 且根據各種性能的比較, 本采用TMS320F2812 型DSP 作為導航計算機,進行下位機的數據發送,其中e 模塊是TMS320F2812 DSP 片上的增強型CAN 控制器, 其性能較之已有的DSP 內嵌CAN 控制器有較大的提高, 數據傳輸更加靈活方便,數據量更大,可靠性更高,功能更加完備。

        上位機采用工控機, 其中由ADLINK 的PCI/cPCI-7841CAN 接口卡進行數據接收。該卡可同時操作兩個獨立的CAN 網絡,可編程傳輸速率可高達1 Mb/s,通過直接內存映射能夠快速訪問CAN 控制器,PCI 總線即插即用, 其總線控制器為SJA1000,電氣接口為82C250。

        信息的信息通信利用CAN 總線完成, 其CAN總線接口電路如圖2 所示, 其中獨特之處是在收發器PCA82C250 的輸出引腳CANH 和CANL 之間并聯一個終端電阻R 為120 Ω,解決了遠近端阻抗不匹配的影響。

        如圖1 所示,由TMS320F2812 DSP 的eCAN 模塊發送陀螺組合數據及溫度值等, 上位機的PCI/cPCI-7841 型CAN 總線接口卡進行數據接收,從而完成整個信息及監測過程。

        1.2 系統軟件:

        系統軟件主要完成CAN 總線的, 并在接收數據之后按要求對的導航數據進行處理,轉換成實際所需數據類型,對陀螺組合的狀態進行監測。

        本系統CAN 總線通信報文格式采用CAN2.0B 擴展模式,通信數據格式主要是對CAN 總線協議中的(仲裁場ArbitrationField)和(數據場Data Field)進行定義,要求數據傳輸速率為500 Kb/s。協議幀格式如圖3 所示。

        系統的接收軟件流程圖如圖4 所示。

        在使用CAN 接口卡之前首先要對卡進行波特率、傳輸報文格式等參數的初始化。

        1) 初始化CAN 總線的傳輸報文格式為提供29 位地址的CAN2.0B 擴展模式;2) 初始化CAN 總線的波特率為500 Kb/s。

        利用PCI/cPCI -7841CAN 接口卡的CanOpen-Driver () 函數打開CAN 端口, 用CanConfigPort () 函數進行初始化,用CanSendMsg()函數發送數據包,用Can-RcvMsg()函數接收數據包,用CanCloseDriver () 函數關閉端口[3]。創建接收線程,接收數據之后按要求對數據進行處理。應用MFC 制作通信界面。注意,線程函數只能是靜態成員函數,或者是在類外面聲明的一個函數。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武乡县| 五指山市| 临高县| 徐闻县| 邵阳市| 义马市| 张家港市| 香港 | 广南县| 彝良县| 宁都县| 托克托县| 弋阳县| 枝江市| 拉萨市| 嵊州市| 安陆市| 那坡县| 红安县| 南阳市| 铁岭县| 乌兰察布市| 河源市| 襄樊市| 文水县| 石林| 鄄城县| 建昌县| 巴中市| 连云港市| 镇远县| 义乌市| 璧山县| 临汾市| 丰城市| 万源市| 西乌| 五原县| 临安市| 如皋市| 平昌县|