新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 多功能嵌入式車輛行駛監控終端設計

        多功能嵌入式車輛行駛監控終端設計

        作者: 時間:2009-07-09 來源:網絡 收藏

        ②CAN總線發送數據:int CAN_SendData(int can-num,uint32 volatile frameinfo,uint32 volatile senddatal,uint32 volatile senddata2,uint32 volatile canmode)。
        函數入口參數:cannum同上;frameinfo為幀信息,用于設置幀信息寄存器;senddata1和senddata2分別為要發送的數據,用于設置數據寄存器A和B;canmode用于設置CAN工作模式。
        函數出口參數:數據發送成功返回0,失敗則返回1。
        函數功能:CAN總線進行數據發送。
        ③CAN總線接收數據:int CAN_RcvData(int can-num。uint32 volatile *pdatal,uint32 volatile *pdata2)。函數入口參數:cannum同上;pdata1和pdata2為接收數據指針。
        函數功能:CAN總線接收數據,并從數據寄存器CANRDA和CANRDB中將數據讀進對應的指針中。
        2.4 LIN總線接口電路設計
        LIN是低成本網絡中的汽車通信協議標準,可以提高通信質量、降低成本,將是在汽車中使用汽車分級網絡的重要因素。LIN總線是一種簡單的單總線系統,其軟件協議棧比較簡單。一個LIN網絡由一個主機節點和一個以上的從機節點組成,所有的節點都包括有從機服務程序,用來發送和接收數據,僅有一個節點包含有主機服務程序。主機程序主要用于發送同步間隔、同步場和ID場(或命令),以控制和協調各個節點的有序通信。
        LPC2292微控制器集成有實現LIN總線節點的必要硬件,包括UART、捕獲輸入和足夠的定時器,特別是其捕獲輸入功能,為LIN的幀頭識別、幀同步 波特率測量提供了極大的便利。LIN總線接口電路如圖5所示,主要由LIN物理層接口芯片TJA1020構成,與LPC2292串口2相連,其主要完成MCU通信信號與LIN物理總線信號之間的相互轉換,為MCU提供一個與LIN物理總線的接口。

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

        2.5 紅外通用接口模塊
        出于用戶統一采集數據需求考慮,本系統設計了通用的紅外接口。它能夠支持紅外遙控和數據通信,支持IrDA協議,能夠方便地與各種符合協議標準的設備進行通信。該模塊由HSDL7001編解碼芯片和HSDL3600紅外收發芯片組成。 HSDL7001與MCU串口相連,原理框圖如圖6所示。

        HSDL7001可驅動IrDA兼容的收發器,最高傳輸速率達11 502 kbps,其內部有1個SIR編碼器和1個SIR解碼器,支持內部(外接3.684 MHz晶振)和外部16XCLK輸入兩種模式。當使用內部時鐘時,波特率可通過A0、A1和A2進行調整。

        3 終端軟件設計
        μClinux具有結構小巧、實時性強、穩定性高、可定制性強的特點。在網絡通信方面,操作系統支持TCP/IP及其他協議并提供通信協議動態掛接技術,以及操作系統內部的進程通信應用接口技術。本設計采用穩定的2.4版本的內核,并對它進行合理的裁減和加載,作為操作平臺。μClinux己對本系統采用的主控器有了很好的支持,但在編譯本系統的內核前,需要修改 uclinux/linux-2.4.x/arch/armnommu/config.in文件中關于外部存儲空間的定義,以滿足本系統關于外部 Flash、CH375B和LCD液晶屏等器件的存儲空間的劃分。
        3.1 進程管理
        μClinux的進程調度沿用了Linux的傳統,系統每隔一定時間掛起進程,同時系統產生快速和周期性的時鐘計時中斷,并通過調度函數(定時器處理函數)決定進程何時擁有相應的時間片,然后進行相關進程切換,這通過父進程調用:fork函數生成子進程來實現。
        本系統中,為每個任務建立數據處理子進程,包括:車速、轉速等信號采集處理任務、串口定時通信任務、USB數據傳輸任務、GPRS數據傳輸任務、LCD數據顯示更新任務等。子進程采用由μClinux內核中的cron組件觸發任務機制。系統中的crontab文件記錄了終端的定時數據處理任務信息(可由系統前臺設定任務執行周期),時間一到即可被cron觸發其相應的子進程。由于采用多進程處理,終端可方便地實現多種信號的實時采集以及數據的及時處理、存儲和上送。
        3.2 設備驅動程序編寫
        設備驅動程序是內核與硬件之間的唯一接口,也是內核代碼的一部分。當硬件設備要與內核進行交互時,就會產生一個中斷信號,通過驅動程序預定義的入口點進入內核,入口點將此信號保存在棧中并保存被中斷任務的寄存器的值。內核提取保存在棧中的中斷信號,再由內核調用相應的中斷處理程序。應用程序可以像操作普通文件一樣對硬件設備進行操作。
        本系統用到LPC22292的4路A/D采樣接口對水溫、剎車氣壓以及發動機電壓狀態等參數進行采集。下面以A/D采樣驅動程序為例進行分析:

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
        蜂鳴器相關文章:蜂鳴器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜君县| 安陆市| 蒙自县| 沂南县| 莱芜市| 怀来县| 巩义市| 香港 | 宜章县| 安西县| 苍南县| 纳雍县| 吉木萨尔县| 昌宁县| 竹北市| 临泽县| 泸定县| 石屏县| 富顺县| 松潘县| 淮南市| 南和县| 日喀则市| 红安县| 兰溪市| 龙陵县| 奉贤区| 会理县| 鄂伦春自治旗| 普定县| 长乐市| 万宁市| 定州市| 清流县| 象州县| 德江县| 阜康市| 阿巴嘎旗| 阳山县| 和平县| 贵定县|