新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM及CAN總線的汽車行駛記錄儀的開發

        基于ARM及CAN總線的汽車行駛記錄儀的開發

        作者: 時間:2013-05-31 來源:網絡 收藏


        打印輸出電路

        微型打印機M-1926有串口和并口兩種接口,系統采用其串口功能,與LPC2292的DART1接口連接,實現對微機的控制輸出。

        的軟件設計

        本系統軟件部分的設計都是在ADS開發環境下進行的,并通過JTAG仿真器進行軟件調試。ADS( Developer Suite)集成開發環境是公司推出的核處理器集成開發工具。JTAG(Joint Test Action Group)是一種通過ARM芯片的JTAG邊界掃描口進行調試的仿真設備,它比在線實時仿真器要廉價簡單,是現在較為流行的一種仿真器。本系統采用的EasyJTAG是廣州周立功單片機發展有限公司開發的LPC2000系列ARM7微控制器的JTAG仿真器。

        本系統軟件部分的程序流程圖如圖2所示。軟件部分主要包括以下幾個模塊:

        A/D采樣模塊

        LPC2292內置有8個模數轉換器ADC,其控制器只有2個,即ADCR、ADDR。本系統使用3個ADC分別采集、轉換3路模擬信號。首先將ADC設置為向量IRQ中斷,為其中斷通道分配一個優先級,并設置中斷服務程序地址向量,此后將ADCR的START位置1來啟動ADC轉換。每當ADC完成一次轉換,ADDR寄存器(A/D Data Register)的DONE位置1,從而引起中斷,轉入中斷處理程序,在該處理程序中從ADDR寄存器的6-15位讀取轉換結果,再將二進制數轉換成十進制數予以保存并顯示。

        FLASH數據存儲模塊

        為了調用方便,系統軟件部分對FLASH操作做了函數封裝,主要有如下兩個函數接口:

        1、頁寫操作:將一字節數據寫入FLASH的某個特定地址。當命令下發完之后延時一段微秒級的時間,然后把被寫數據所在頁整頁讀出,將被寫數據所在地址的數據值替換為被寫數據,其余地址的數據值不變,然后整頁寫入FLASH,完成頁寫操作。

        2、整片擦除操作:對FLASH存儲陣列中的內容進行整片擦除。通過給FLASH下發特定地址的特定六個字 節的命令字來完成FLASH整片擦除操作,數據下發完畢后需要等 待50mS,或等待內部toggle/plling操作完成。

        RS232串口通信模塊

        本系統利用兩個UART,一個用于提供主機與上位機軟件的通信接口,另一個用于提供微型打印機與主機的連接接口。主機和上位機軟件的RS232串口通信協議如下:通信波特率為15200, 8位數據位,1位停止位,無奇偶校驗。

        軟件為RS232串口通信提供的函數接口有:

        1、串口發送一個字節數據:將要發送的數據裝載到串口發送寄存器中,等待串口狀態字變1,則表示數據發送完畢。

        2、串口初始化:根據串口通信協議對波特率、奇偶校驗、數據位和停止位進行設置。

        LCD液晶顯示模塊

        主要包括的函數模塊如下:

        1、LCD“忙”檢查:對LCD操作很重要的部分就是進行時序模擬,而時序模擬最重要的是LCD“忙”檢查。程序代碼如下:
        uint32 rb;I02DIR=LCD_DO_D7; //P2口連接的D0到D7口設為輸入方式,然后讀取狀態命令

        IO1CLR=LCD_RS;
        IO1SET=LCD_RW;
        if(rb!=0)
        {IO1SET=LCD_E;
        rb=(I02PIN0x80000000);
        IO1CLR=LCD_E;
        }; //忙等待
        IO2DIR=LCD_DO_D7;//將LCD數據位重新設為輸出方式

        2、向LCD下發命令:若LCD“不忙”,在LCD的管腳E的下降沿鎖存命令字節完成命令的發送。
        3、LCD初始化:對LCD內部“忙”操作狀態進行檢查,設置顯示的起始行,然后開顯示。
        4、LCD液晶寫一組漢字:函數寫漢字的時候實際上是將漢字字模寫入LCD。
        5 、LCD液晶畫圖:LCD畫圖和寫字其實很類似,將相應的字模寫入規定的LCD屏幕的位置即可。LCD液晶畫圖用于報警信號的顯示。

        CAN-BUS通信模塊

        CAN通信與一般的串口通信類似,在數據通信前要對進行初始化操作,包括CAN控制器的選擇、數據寄存器的設置以及通信波特率的設置等。初始化完成后,則需要設置雙方的通信協議,建立彼此的連接。只有在同一協議下工作的雙方才能正確進行數據的交換。軟件提供的CAN-BUS通信函數接口包括初始化CAN、發送數據以及接收數據等。

        結束語

        結合了計算機技術、嵌入式技術以及現場總線技術等多項先進技術,具有高實時性、抗干擾能力強、可靠性高、數據精度高以及系統擴展方便等特點,可以在車輛實時警告與稽核、公安交警部門的事故處理等方面發揮一定的作用。(end)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平潭县| 曲阜市| 湟源县| 九龙城区| 平凉市| 深圳市| 榆中县| 沙河市| 泽普县| 黑龙江省| 金坛市| 靖安县| 泾阳县| 汉川市| 宜兴市| 井陉县| 黎平县| 广州市| 克拉玛依市| 饶阳县| 祁阳县| 维西| 偏关县| 竹山县| 平昌县| 扎兰屯市| 临泽县| 米泉市| 逊克县| 长岭县| 长丰县| 句容市| 松滋市| 陆川县| 仁布县| 师宗县| 西林县| 蒙阴县| 邢台县| 沙坪坝区| 开封市|