新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM的車輛檢測系統(tǒng)控制單元電路設(shè)計

        基于ARM的車輛檢測系統(tǒng)控制單元電路設(shè)計

        作者: 時間:2011-07-22 來源:網(wǎng)絡(luò) 收藏

          //擦除Flash

          write_command(0x80);

          //寫命令80H

          address = row_add<<9;

          address = 0x00fffe00;

          write_address(address);

          //寫地址

          statue = IO0PIN;

          //獲取狀態(tài)

          while((statuefr_b)==0)

        {statue = IO0PIN;}

          //忙,等待

          for(i=0;i<528;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;}

          //操作失敗

          }

        串口通信實現(xiàn)

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

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

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

        LPC2114設(shè)計注意事項

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

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

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

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

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

          ARM軟件采用分層設(shè)計思想,整個軟件由驅(qū)動程序和應(yīng)用軟件兩部分構(gòu)成。驅(qū)動程序部分封裝了Flash操作、RS-485操作、實時時鐘(RTC)操作、RS-232操作和I/O等操作。應(yīng)用軟件分成基本函數(shù)庫和主程序。其中,主程序流程如圖4所示。

          

          圖4 主程序流程圖



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 炉霍县| 普陀区| 来安县| 类乌齐县| 家居| 通化县| 洪洞县| 年辖:市辖区| 西昌市| 宿州市| 鹤峰县| 星子县| 利川市| 治多县| 莒南县| 三亚市| 靖西县| 永昌县| 伊宁县| 杭锦后旗| 泌阳县| 丹阳市| 祁门县| 元氏县| 大港区| 鹿邑县| 花垣县| 新宁县| 苏尼特左旗| 丰台区| 社旗县| 含山县| 裕民县| 祁阳县| 漳平市| 文化| 南昌县| 贵南县| 舞阳县| 八宿县| 孙吴县|