《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM44B0x的信號發射機控制器設計
基于ARM44B0x的信號發射機控制器設計
EEworld
摘要: 船舶上使用的信號發射機是連續工作的,所以需要一個控制器對發射機的工作狀態進行監控,常見的是用單片機作控制器的內核,但由于32位微處理器具有更好的精度和可靠性且低成本低功耗,所以在工業控制領域的應用日益廣泛。采用嵌入式的32位微處理基于ARM的 S3C44B0x作為控制器的內核,設計的控制器將比用單片機作內核的處理器具有更全面的功能和更好的使用性能。 發射機控制器的主要功能是對多路模擬量和開關量的數據采集和處理監控發射機的工作狀態;控制器控制發射機同時控制器又受上位機的控制,它要能在任意時刻準備好接收從上位機串口、網口發來的數據
Abstract:
Key words :

    1.前言

    船舶上使用的信號發射機是連續工作的,所以需要一個控制器對發射機的工作狀態進行監控,常見的是用單片機作控制器的內核,但由于32位微處理器具有更好的精度和可靠性且低成本低功耗,所以在工業控制領域的應用日益廣泛。采用嵌入式的32位微處理基于ARM的 S3C44B0x作為控制器的內核,設計的控制器將比用單片機作內核的處理器具有更全面的功能和更好的使用性能。

    發射機控制器的主要功能是對多路模擬量和開關量的數據采集和處理監控發射機的工作狀態;控制器控制發射機同時控制器又受上位機的控制,它要能在任意時刻準備好接收從上位機串口、網口發來的數據,它們之間的相對關系如圖:

圖1   控制器系統結構圖

    上位機向控制器發送數據從而實現對控制器的控制,首先上位機送出機號,再送命令字;控制器也要向上位機上傳數據完成通訊應答,它首先解析機號是否與自己的機號一致,若一致則再解析命令字,根據命令字來送出上傳的數據完成應答;若不一致則不再作進一步的數據解析。它們的通訊方式有串口通訊和以太網通訊兩種;控制器和發射機的數據傳輸主要有模擬量的采集和開關量的輸入輸出;另外,人機接口模塊實現發射機工作過程中的參數的實時顯示和參數修改和查詢。實時采集的數據是由AD采樣得到的,需要注意的是S3c44B0沒有采樣保持電路所以通道的切換頻率不能超過100Hz,在ADC開啟路時都需要一個延時,利用這段時間來對上一路進行濾波而提高程序的效率。整個采樣的過程可以描述為開啟當前通道,然后濾波上次采樣的通道(中位值平均濾波法)。

    2.開關機描述及軟件設計

 圖2 傳口通訊流程圖

    項目的開發首先要完成開關機功能、人機接口功能模塊、通訊模塊的程序設計和調試,先討論開關機的程序設計;用戶要求控制器上鍵的功能是能編輯的即每一個鍵的功能不固定,可以通過PC機修改;開機時要按優先級順序由高到低輸出一系列的動作,每個動作都有可編輯的優先級(通過PC機編輯),一個動作輸出后可能會引起其它同一優先級水平動作的發生,這就是動作的關聯。在開當前優先級動作時必須要檢測更高優先級動作的狀態,遇到故障需要進行故障處理。針對上述的較復雜的需求設計如下數據結構:

     圖3 開機流程

  typedef struct{

  char   *pName;        //動作名稱

  char  FunctionID; //動作(功能)編號

  char   Priority;      //動作優先級

  short KeepTime1;  //等待前一個輸出動  作穩定需要的時間

  short     DelayTime1;//下一動作執行前的延時

  short  DelayTime2;    //當檢測模擬量或開關量不正常時需要重復檢測的延時

  short  RepeatNum;//有故障重新檢測的次數

  }OutputAction;

    把所有的功能依次編號,把這個編號賦給某個鍵則該鍵就具備了該功能,功能的編輯通過修改OutputAction.FunctionID的值實現;每個鍵最多有16個功能,最少沒有功能;在每一個鍵的所有功能都是輪循有效的,用一個循環鏈表來存放功能編號,始終是處于表頭位置編號對應的功能有效,每個功能(動作)只能歸屬于一個鍵,在每次開機時首先由串口把已定義好的鍵功能送到控制器并燒寫到固定位置的ROM中;動作優先級的編輯是通過修改結構體中OutputAction.Priority的值實現;開機時再從ROM中把這些數據讀出來,若上位機沒有進行鍵功能編輯就按默認形式進行,需要指出的是關機時,按和開機向反的順序依次關閉所有的輸出動作.

    開機時根據固定位置ROM中的內容或按默認的定義獲取動作的屬性,①首先搜索優先級最高的動作編號,然后根據不同的延時把這些動作依次送出;②把優先級降一級,檢測比當前優先級更高的所有的輸入、輸出的狀態是否正常如果正常則送出當前優先級的動作,再重復②的過程,否則進入故障處理程序,如果處理故障成功則繼續重復②的過程,否則關機并返回開機失敗信息。開機流程圖如圖3所示。

    在軟件設計中的一個特色就是利用I/O端口來模擬IIC總線來讀取鍵值,其總體思路是用兩個端口一個模擬IIC的時鐘信號,另一個模擬IIC的數據線。需要注意的是在配制I/O端口時,時鐘線始對應的端口終是輸出口而數據線端口是不確定的。通過給端口置位和清零結合延時來模擬IIC的數據傳輸協議。在調試的過程中發現,這種方法能很好的完成鍵值的獲取和對CPLD器件的訪問。

    3.人機接口模塊設計

    要監控發射機工作狀態就必須具備良好的人機接口,需要給控制器選配合適的顯示設備,在本項目中選用7.8寸640×480象素STN型彩色液晶顯示屏(LCD),采用8位數據單掃描方式,在實際應用中顯示效果很好不僅成本低且美觀大方,STN型LCD屏與44B0x的接口比較簡單但需要注意的是第18引腳(Vcom)通過一個變阻器與電源相連,調整該引腳上的電壓就可以調整LCD屏的對比度。軟件設計中的關鍵是菜單的設計和按鍵響應及處理,由于本項目中的界面較多且存在翻屏所以宜設計一個統一處理的算法,為此,把每個界面統一編號WndID,把按鍵作為一個消息處理MessageFun();每次按一個鍵就調用MessageFun(),找到需要顯示的界面并在LCD上顯示。LCD翻屏的方法是每次記錄顯示的內容在整個菜單數組中的偏移,若當前行超過偏移就需要翻屏否則不翻屏。對于菜單的設計作如下處理:用一個結構體把一個菜單的屬性完整地封裝好,其屬性包括菜單名稱、坐標、參數標志、參數。

typedef    struct{

       UINT8T  Menu_ID;//菜單編號

       UINT8T *Text;      //菜單名稱

       UINT16T       xPos;      //菜單x坐標

       UINT16T       yPos;      //菜單y坐標

       UINT8T  ParaFlag; //參數標志

       UINT8T  pData[7]; //參數

}Menu;                                               

    圖4 菜單顯示

    利用結構體將每一個菜單的屬性都封裝好再放到一個數組里面,這樣對菜單的個數沒有限制且容易管理,每一個菜單的信息都很清晰,編程不易出錯。

    人機界面操作的核心工作就是界面的切換、主菜單和子菜單操作。根據按鍵來確定對應的界面ID號,切換界面的方法通常有兩種改變顯存的內容和改變顯存的基址,改變顯存的基址就需要定義很大的顯存,這樣做的優點是利用硬件資源使LCD屏顯示的刷新速度很高、界面切換快,缺點是很大地浪費了系統資源;若改變顯存中的內容就需要用軟件的方法來更新顯存中的內容,這種方法的好處就是節約了系統資源,但是增加的軟件設計的復雜度;本項目采用的就是更新顯存內容的方法在實際的調試中發現能夠很好地滿足要求。關于主菜單和子菜單的操作設計了一種統一調度的算法,其思想是根據獲取的按鍵信息來確定主菜單的ID號和子菜單的ID號,使用焦點標記當前菜單的ID號,由這兩個ID號就可以確定相應的主、子菜單同時進入對應的功能處理程序。

    4.以太網通信模塊設計

    在硬件設計時選擇RTL8019AS網絡控制芯片,它可以工作在8/16 位總線寬度下傳輸速度為10Mbps,遵循IEEE 802.3 協議。內部具有16KB SRAM集成了MAC收發緩沖區和物理層的功能,它用來接收和發送以太網的物理傳輸數據,當RTL8019AS收到網絡數據包后,RTL8019AS內部的某些控制寄存器的狀態就被改變,通過設置中斷或者查詢的方法來讀取這些寄存器的狀態判斷數據是否收到;發送數據時,將數據放入到RTL8019AS內部數據緩沖區后,通過控制內部的寄存器,將緩沖區的網絡數據發送到網絡上去。該芯片有三種工作模式:跳線模式,即插即用模式,免跳線模式。在項目中網卡芯片RTL8019AS是在跳線模式下工作。對該芯片的驅動主要包括以下幾個步驟:復位、初始化、收發數據。RTL8019的復位引腳RSTDRV是高電平有效,有效的保持時間宜大于800ns,且在由高到低切換后的100ms后才對芯片操作。在對芯片初始化之前需要預先分配好片內RAM中的空間即接收和發送緩存的大小,在把所有的設置參數在初始化的時候一起寫入RTL8019的寄存器完成初始化。

    5.結語

    項目開發調試的過程中有許多軟件和硬件方面的困難,但是問題最后都是在不斷地解決,如系統的了串口,LCD,AD采樣,Flash操作的調試等工作以及控制器所要具備的人機交互功能的程序設計且需調試通過。把以太網模塊加到工程中后,其物理層芯片的驅動程序需進一步調試,把TCP/IP協議加入模塊,參照成功的案例,完成系統的調試任務。同時,本文具有以下創新點:

    (1)開發應用32位微處理ARMS3C44B0x作為控制器的內核,使控制器比用單片機作內核的處理器具有更全面的功能和更好的使用性能。

    (2)在菜單的設計中,用一個結構體把一個菜單的屬性完整地封裝好,其屬性包括菜單名稱、坐標、參數標志、參數。

    (3)解決了該網卡芯片使RTL8019AS正常工作的問題,在對芯片初始化之前需要預先分配好片內RAM中的空間即接收和發送緩存的大小,在把所有的設置參數在初始化的時候一起寫入RTL8019的寄存器完成初始化。

       [參考文獻]

       [1] 田澤.嵌入式系統開發與應用實驗教程[M].北京:北京航空航天大學出版社,2005.

       [2] 賈志平,張瑞華.嵌入式原理與接口技術[M].北京:清華大學出版社,2005.

       [3] 王田苗.嵌入式系統設計與實例開發[M].清華大學出版社,2003.

       [4] 崔登志,戴學豐,劉樹東,等.用ARM控制CAMD無線Modem發送短信息[J].微計算機信息,2006,11-2:136-138.

       [5] 徐偉,譚樹人,黃浩亮.基于AT91RM9200的圖象采集系統設計[J]. 微計算機信息,2006,11-2:120-122.

       [6] 楊占華,揚燕.數據挖掘在智能搜索引擎中的應用[J].微計算機信息,2006(4)下:244-245.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
9l视频自拍蝌蚪9l视频成人| 欧美在线免费视屏| 亚洲在线观看视频| 99re视频这里只有精品| 亚洲大胆在线| 狠狠色狠狠色综合日日五| 国产精品一区二区欧美| 国产精品免费网站| 欧美日韩视频| 欧美色网在线| 欧美日韩在线观看一区二区| 欧美日韩国产色视频| 欧美成人免费网站| 欧美大秀在线观看| 欧美黑人在线观看| 欧美好吊妞视频| 欧美精品一线| 欧美日韩另类在线| 欧美午夜剧场| 欧美视频中文一区二区三区在线观看| 欧美日韩精品国产| 欧美日韩一二三四五区| 欧美日韩一二三区| 国产精品mv在线观看| 国产精品久久久一区二区| 欧美小视频在线观看| 国产精品白丝jk黑袜喷水| 国产精品久久久久aaaa九色| 国产精品白丝av嫩草影院| 国产精品久久久| 国产精品一区二区三区乱码| 国产日韩亚洲欧美精品| 精品9999| 亚洲精品美女91| 在线视频亚洲欧美| 亚洲欧美激情四射在线日 | 最新国产の精品合集bt伙计| 亚洲理论电影网| 亚洲香蕉在线观看| 久久精品成人一区二区三区蜜臀| 亚洲欧洲在线观看| 亚洲一区二区三区在线观看视频| 欧美专区在线观看一区| 毛片精品免费在线观看| 欧美日韩亚洲一区二区| 国产色综合网| 亚洲精品久久久久| 亚洲欧美日韩国产综合| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产亚洲电影| 亚洲国产精品久久久久秋霞不卡 | aa亚洲婷婷| 欧美一区二区在线视频| 亚洲美女视频网| 欧美在线看片| 欧美激情视频给我| 国产欧美精品一区二区三区介绍| 在线免费观看视频一区| 亚洲神马久久| 亚洲经典视频在线观看| 亚洲欧美不卡| 欧美寡妇偷汉性猛交| 国产欧美日韩另类视频免费观看| 亚洲黄色性网站| 午夜影院日韩| 亚洲视频播放| 老司机67194精品线观看| 国产精品久久7| 亚洲韩日在线| 久久成人免费网| 亚洲欧美日韩国产| 欧美—级a级欧美特级ar全黄| 国产精品中文字幕在线观看| 91久久精品国产91性色| 午夜精品亚洲| 亚洲一级一区| 欧美成年人视频网站欧美| 国产情侣一区| 一区二区三区高清在线 | 欧美一区二区大片| 欧美日韩亚洲免费| 伊人伊人伊人久久| 欧美一级视频精品观看| 亚洲欧美精品在线| 欧美日韩1234| 亚洲高清网站| 久久激情久久| 久久成人人人人精品欧| 欧美日韩在线精品一区二区三区| 在线成人免费观看| 久久成人一区二区| 久久成人精品一区二区三区| 国产精品v欧美精品v日韩| 亚洲欧洲久久| 亚洲人永久免费| 久久天堂av综合合色| 国产欧美激情| 亚洲一区二区毛片| 亚洲一级在线观看| 欧美日韩午夜| 亚洲精品日产精品乱码不卡| 亚洲黄色在线看| 久久久久久一区二区| 国产伦精品一区二区三区视频黑人 | 欧美日韩国产综合网| 亚洲国产一区二区a毛片| 久久精品人人做人人综合| 久久精品二区三区| 国产精品一区二区黑丝| 亚洲视频在线免费观看| 中文久久乱码一区二区| 欧美女同视频| 亚洲欧洲视频| 日韩午夜激情电影| 欧美理论片在线观看| 亚洲日本欧美在线| 亚洲伦理自拍| 欧美日韩精品免费| 日韩一级在线观看| 亚洲午夜激情| 国产精品久久久久久久久久妞妞| 一区二区三区精品视频| 亚洲一区二区精品在线| 国产精品国产福利国产秒拍| 亚洲深夜福利在线| 欧美一区午夜精品| 国产婷婷精品| 久久精品电影| 免费在线日韩av| 亚洲欧洲精品一区二区三区不卡| 亚洲理论在线| 欧美手机在线| 亚洲字幕一区二区| 久久精品夜色噜噜亚洲a∨| 国内精品一区二区三区| 亚洲国产精品久久精品怡红院 | 国产午夜精品全部视频播放| 欧美一级艳片视频免费观看| 久久本道综合色狠狠五月| 国产亚洲视频在线| 亚洲福利在线看| 欧美—级a级欧美特级ar全黄| 亚洲精品在线看| 亚洲女人天堂成人av在线| 国产精品免费视频xxxx| 欧美一区二区三区在| 免费人成精品欧美精品| 亚洲精品国产精品国自产观看浪潮| 亚洲视频视频在线| 国产酒店精品激情| 久久精品一本| 欧美日韩国产麻豆| 亚洲欧美视频在线观看视频| 久久一区二区三区国产精品| 亚洲国产婷婷| 亚洲欧美日韩人成在线播放| 国产一区二区三区高清播放| 亚洲精品免费在线| 欧美视频亚洲视频| 欧美伊人精品成人久久综合97| 欧美freesex8一10精品| 一区二区三区国产| 久久久99久久精品女同性 | 日韩视频不卡| 香蕉久久a毛片| 在线电影一区| 亚洲一区二区视频在线观看| 国产日韩欧美日韩| 99视频在线观看一区三区| 国产精品久久综合| 亚洲黄网站在线观看| 欧美小视频在线观看| 久久精品国产成人| 欧美视频免费在线观看| 久久国产视频网| 欧美日韩亚洲一区三区| 久久精品国产亚洲高清剧情介绍| 欧美日韩精品一区二区三区四区| 香蕉成人伊视频在线观看| 欧美—级在线免费片| 亚洲欧美www| 欧美精品在线观看播放| 欧美一区不卡| 欧美日韩无遮挡| 亚洲国产99| 国产精品成av人在线视午夜片| 亚洲国产日韩欧美| 国产精品日韩一区二区| 亚洲国语精品自产拍在线观看| 欧美午夜免费电影| 亚洲激情在线| 国产欧美精品xxxx另类| aa成人免费视频| 精品动漫一区二区| 欧美一区亚洲二区| 日韩一级精品视频在线观看| 久久男人资源视频| 中文在线资源观看网站视频免费不卡 | 狠狠色噜噜狠狠狠狠色吗综合| 中文日韩在线|