新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM開發(fā)板的車輛檢測控制單元設(shè)計(jì)

        ARM開發(fā)板的車輛檢測控制單元設(shè)計(jì)

        作者: 時(shí)間:2014-02-14 來源:網(wǎng)絡(luò) 收藏



        for(i=0;i528;i++)

        //寫528字節(jié)

        {write_data(*(buffer+i));}

        //寫入數(shù)據(jù)

        write_command(0x10);

        //寫命令10H

        statue = IO0PIN;

        //獲取狀態(tài)

        while((statuefr_b)==0)

        {statue = IO0PIN;}

        //忙,等待

        write_command(0x70);

        //寫命令70H

        statue = read_data();

        //獲取狀態(tài)

        if(statue0x01)

        {IO0SET |= errorled;}

        //操作失敗

        }

        串口通信實(shí)現(xiàn)

        控制系統(tǒng)通過的兩個(gè)UART實(shí)現(xiàn)和LD4以及中心站的數(shù)據(jù)交換,兩個(gè)UART具備觸發(fā)點(diǎn)可調(diào)的16B收發(fā)FIFO.其中,UART1比UART0增加了調(diào)制解調(diào)器接口。UART的基本操作方法和傳統(tǒng)51內(nèi)核單片機(jī)相似。

        首先,設(shè)置I/O連接到UART;然后設(shè)置串口波特率(如U0DLM、U0DLL);接著設(shè)置串口工作模式(如U0LCR、U0FCR);這時(shí)就可以通過寄存器U0THR和U0RBR發(fā)送/接收數(shù)據(jù)了,發(fā)送/接收模塊的狀態(tài)信息可以通過U0LSR寄存器讀取。

        系統(tǒng)通過RS-485總線和LD4板卡通信,采用MAX3485作為RS-485總線控制器和的UART1通信。MAX3485是3.3V供電的半雙工收發(fā)芯片,將差分RS-485總線信號(hào)轉(zhuǎn)換成arm核能夠接受的串口信號(hào)。為了實(shí)現(xiàn)和PC機(jī)通信,系統(tǒng)采用3.3V工作電壓的MAX3232作為RS-232電平轉(zhuǎn)換芯片。

        LPC2114設(shè)計(jì)注意事項(xiàng)

        LPC2114在開發(fā)的過程中有一些需要特殊注意的問題,總結(jié)如下:

        (1)當(dāng)用戶程序?qū)懭隖lash后不能運(yùn)行時(shí),首先,需要考慮中斷向量表是否正確,中斷向量表累加和必須為0.其次,需要考慮向量表的定位,向量表是否已經(jīng)定位在0x00000000地址。然后,需要考慮MEMMAP寄存器的設(shè)置是否正確,否則中斷無法執(zhí)行。此外,還需要考慮ISP硬件條件是否滿足,LPC2114的P0.14腳在#RESET為低時(shí),該引腳線上的低電平將強(qiáng)制芯片進(jìn)入ISP狀態(tài),硬件設(shè)計(jì)時(shí)必須在該引腳加10KW上拉電阻,否則,該引腳不穩(wěn)定,對設(shè)備啟動(dòng)將會(huì)有影響。

        (2)LPC2114共有46個(gè)GPIO,這些I/O可以任意配置,但是個(gè)別引腳開漏輸出(P0.2、P0.3),需加上拉電阻。另外,F(xiàn)lash存儲(chǔ)器K9F2808狀態(tài)輸出引腳R/#B開漏輸出,需加10KW的上拉電阻。

        (3)LPC2114芯片加密后,只能通過ISP對芯片全局擦除后才能恢復(fù)JTAG調(diào)試以及下載等功能。當(dāng)#RESET為低時(shí),P1.26的低電平使P1.26~P1.31復(fù)位后作為調(diào)試端口,注意在P1.26引腳和地之間需接一個(gè)弱偏置電阻。

        系統(tǒng)軟件設(shè)計(jì)思想及注意事項(xiàng)

        車輛檢測系統(tǒng)arm軟件采用分層設(shè)計(jì)思想,整個(gè)軟件由驅(qū)動(dòng)程序和應(yīng)用軟件兩部分構(gòu)成。驅(qū)動(dòng)程序部分封裝了Flash操作、RS-485操作、實(shí)時(shí)時(shí)鐘(RTC)操作、RS-232操作和I/O等操作。應(yīng)用軟件分成基本函數(shù)庫和主程序。

        在32位arm核應(yīng)用系統(tǒng)中,為了進(jìn)行系統(tǒng)初始化,往往采用一個(gè)匯編文件作為啟動(dòng)代碼,來實(shí)現(xiàn)堆棧、中斷、系統(tǒng)變量、I/O初始化以及地址重映射等操作。開發(fā)平臺(tái)ADS的策略是不提供完整的啟動(dòng)代碼,不足部分需要開發(fā)人員自己編寫。

        系統(tǒng)設(shè)計(jì)的啟動(dòng)代碼包含中斷向量表、堆棧初始化以及相應(yīng)的中斷服務(wù)程序與C語言的接口。對LPC2114而言,為了使向量表中所有數(shù)據(jù)32位累加和為0 ,向量表中設(shè)置保留向量值,將中斷向量表中的32個(gè)字節(jié)數(shù)累加,其中,保留向量值不用累加,然后取累加值的補(bǔ)碼,這個(gè)補(bǔ)碼的低32位就是保留向量的值。該保留向量值將被BOOT裝載程序用作有效的用戶程序關(guān)鍵字。當(dāng)向量表中所有數(shù)據(jù)累加和為0時(shí),且ISP外部硬件條件不滿足時(shí),BOOT裝載程序?qū)?zhí)行用戶程序。

        結(jié)語

        本文基于PHILIPS公司最新的arm7內(nèi)核微處理器LPC2114實(shí)現(xiàn)了高速公路車輛檢測系統(tǒng)的控制單元部分的設(shè)計(jì)。LPC2114使用簡單、開發(fā)容易、具有較高的性價(jià)比,非常適用于嵌入式系統(tǒng)中。目前本系統(tǒng)已經(jīng)推向市場,并取得了較好經(jīng)濟(jì)效益。

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


        上一頁 1 2 下一頁

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 治县。| 台东市| 张家口市| 巴彦县| 吉首市| 乐山市| 宜章县| 加查县| 新邵县| 宁津县| 包头市| 高尔夫| 甘肃省| 修水县| 大宁县| 叶城县| 上犹县| 桃园县| 集贤县| 万盛区| 定西市| 泰和县| 柳江县| 治多县| 朔州市| 白山市| 金坛市| 海阳市| 清丰县| 汝南县| 武夷山市| 平原县| 灯塔市| 安图县| 门头沟区| 故城县| 灌阳县| 富锦市| 贡山| 大渡口区| 铅山县|