《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于ARM44B0x的信號發(fā)射機控制器設(shè)計與實現(xiàn)
基于ARM44B0x的信號發(fā)射機控制器設(shè)計與實現(xiàn)
摘要: 船舶上使用的信號發(fā)射機是連續(xù)工作的,所以需要一個控制器對發(fā)射機的工作狀態(tài)進行監(jiān)控,常見的是用單片機作控制器的內(nèi)核,但由于32位微處理器具有更好的精度和可靠性且低成本低功耗,所以在工業(yè)控制領(lǐng)域的應(yīng)用日益廣泛。采用嵌入式的32位微處理ARMS3C44B0x作為控制器的內(nèi)核,設(shè)計的控制器將比用單片機作內(nèi)核的處理器具有更全面的功能和更好的使用性能。
Abstract:
Key words :

  1.前言

  船舶上使用的信號發(fā)射機是連續(xù)工作的,所以需要一個控制器對發(fā)射機的工作狀態(tài)進行監(jiān)控,常見的是用單片機作控制器的內(nèi)核,但由于32位微處理器具有更好的精度和可靠性且低成本低功耗,所以在工業(yè)控制領(lǐng)域的應(yīng)用日益廣泛。采用嵌入式的32位微處理ARMS3C44B0x作為控制器的內(nèi)核,設(shè)計的控制器將比用單片機作內(nèi)核的處理器具有更全面的功能和更好的使用性能。

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

 

  

  圖1 控制器系統(tǒng)結(jié)構(gòu)圖

 

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

  2.開關(guān)機描述及軟件設(shè)計

 

  

  圖2 傳口通訊流程圖

 

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

 

  

  圖3 開機流程

 

  typedef struct{

  char *pName;//動作名稱

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

  char Priority; //動作優(yōu)先級

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

  short DelayTime1;//下一動作執(zhí)行前的延時

  short DelayTime2;//當(dāng)檢測模擬量或開關(guān)量不正常時需要重復(fù)檢測的延時

  short RepeatNum;//有故障重新檢測的次數(shù)

  }OutputAction;

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

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

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

 

  3.人機接口模塊設(shè)計

 

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

  typedefstruct{

  UINT8T Menu_ID;//菜單編號

  UINT8T *Text; //菜單名稱

  UINT16T xPos; //菜單x坐標(biāo)

  UINT16T yPos; //菜單y坐標(biāo)

  UINT8T ParaFlag; //參數(shù)標(biāo)志

  UINT8T pData[7]; //參數(shù)

  }Menu;

 

  

  圖4 菜單顯示

 

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

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

 

  4.以太網(wǎng)通信模塊設(shè)計

 

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

  5.結(jié)語

 

 

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

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

  (2)在菜單的設(shè)計中,用一個結(jié)構(gòu)體把一個菜單的屬性完整地封裝好,其屬性包括菜單名稱、坐標(biāo)、參數(shù)標(biāo)志、參數(shù)。

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

 

  [參考文獻]

  [1] 田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用實驗教程[M].北京:北京航空航天大學(xué)出版社,2005.

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

  [3] 王田苗.嵌入式系統(tǒng)設(shè)計與實例開發(fā)[M].清華大學(xué)出版社,2003.

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

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久国产精品色婷婷| 欧美激情国产日韩| 亚洲手机视频| 亚洲国产片色| 亚洲高清色综合| 亚洲成人在线网站| 雨宫琴音一区二区在线| 红桃视频成人| 精品99一区二区三区| 韩国三级在线一区| 国产一区二区三区四区老人| 国产伦精品一区| 国产精品日韩二区| 国产精品高潮粉嫩av| 国产精品不卡在线| 国产精品久久久久久久久久久久 | 中文亚洲视频在线| 99re6这里只有精品视频在线观看| 亚洲日本欧美| 一区免费视频| 亚洲成人资源| 亚洲人成高清| 99香蕉国产精品偷在线观看| 一区二区欧美日韩| 亚洲调教视频在线观看| 亚洲自拍偷拍网址| 午夜国产精品视频免费体验区| 亚洲第一在线| 亚洲人妖在线| 一本一本a久久| 亚洲欧美日韩在线播放| 欧美在线精品免播放器视频| 久久精品国产免费| 亚洲九九九在线观看| 中文在线不卡| 欧美一区二区视频网站| 久久婷婷av| 欧美精品在线观看播放| 国产精品九色蝌蚪自拍| 国产亚洲午夜| 在线观看成人小视频| 99pao成人国产永久免费视频| 有码中文亚洲精品| 亚洲高清资源| 一区二区三区黄色| 欧美一级免费视频| 亚洲人成在线播放网站岛国| 亚洲网站在线| 久久久久一区二区三区| 欧美福利网址| 国产精品久久久久久久久| 狠狠做深爱婷婷久久综合一区 | 一区二区国产日产| 亚洲精选视频免费看| 亚洲国产精品尤物yw在线观看| 欧美激情一区二区三区在线| 欧美精品一卡| 国产精品久久久久久久久久久久久| 另类专区欧美制服同性| 久久综合伊人77777麻豆| 欧美高清一区| 国产精品久久久久久久久久尿| 欧美日韩精品二区| 国产精品高潮呻吟久久av无限| 欧美激情欧美激情在线五月| 欧美日韩日本视频| 国产曰批免费观看久久久| 伊人久久亚洲热| 99视频精品免费观看| 欧美一区深夜视频| 99热这里只有精品8| 久久精品国产亚洲a| 欧美另类一区| 国产一区二三区| 99精品国产一区二区青青牛奶 | 小黄鸭精品aⅴ导航网站入口 | 亚洲精品国久久99热| 亚洲一区二区精品在线观看| 久久激情综合| 亚洲永久免费av| 欧美 日韩 国产一区二区在线视频| 久久久久网址| 欧美日韩国产精品专区 | 国产精品久久国产三级国电话系列| 欧美精品福利| 国产精品嫩草影院av蜜臀| 在线观看91久久久久久| 亚洲视频中文| 亚洲美女中出| 久久久久久网站| 欧美日韩国产123| 伊人久久噜噜噜躁狠狠躁| 亚洲欧美激情一区二区| 中文av一区特黄| 欧美成人小视频| 国自产拍偷拍福利精品免费一| 好看不卡的中文字幕| 99国产精品国产精品毛片| 亚洲激情偷拍| 久久久久久久久综合| 欧美视频导航| 日韩视频精品在线| 亚洲精选中文字幕| 老司机午夜精品| 国产一区二区三区观看| 亚洲影院在线| 亚洲欧美日韩一区在线| 欧美视频官网| 亚洲精品在线免费观看视频| 亚洲日本中文字幕| 免费看黄裸体一级大秀欧美| 狠狠综合久久av一区二区小说| 亚洲精品偷拍| 亚洲伦理在线| 欧美r片在线| 1024日韩| 亚洲第一天堂无码专区| 久久久久国产免费免费| 国产亚洲欧美日韩美女| 在线亚洲+欧美+日本专区| 在线亚洲欧美专区二区| 欧美区日韩区| 亚洲免费大片| 亚洲素人一区二区| 欧美性大战久久久久| 一区二区三区高清在线| 亚洲天堂视频在线观看| 欧美天堂亚洲电影院在线观看| 国产一区二区三区电影在线观看| 91久久国产综合久久蜜月精品 | 欧美一区二视频在线免费观看| 久久亚洲欧洲| 国产夜色精品一区二区av| 亚洲淫片在线视频| 欧美在线不卡| 国内精品久久久久久久影视麻豆 | 欧美一区国产一区| 国产精品伦一区| 亚洲尤物影院| 欧美有码视频| 国产综合色产| 亚洲黄色av| 欧美激情精品久久久久久| 99精品国产福利在线观看免费| 亚洲盗摄视频| 女人香蕉久久**毛片精品| 亚洲国产精品一区二区www| 一区二区三区欧美在线| 欧美无砖砖区免费| 性色av一区二区三区在线观看| 亚洲一区二区高清| 国产精品你懂的| 欧美专区中文字幕| 欧美成人一区二免费视频软件| 国产欧美日韩精品在线| 性亚洲最疯狂xxxx高清| 久久一区激情| 日韩午夜剧场| 欧美一区二区三区免费在线看 | 欧美午夜不卡在线观看免费 | 亚洲高清自拍| 一区二区福利| 国产精品自拍在线| 亚洲黄一区二区三区| 欧美日韩国产美| 欧美一区免费视频| 欧美精品七区| 亚洲综合激情| 欧美成人综合在线| 亚洲一区综合| 欧美大学生性色视频| 亚洲少妇诱惑| 久久影视三级福利片| 亚洲美女免费精品视频在线观看| 亚洲毛片av| 国产精品人人做人人爽| 亚洲国产成人av在线| 欧美视频国产精品| 亚洲电影天堂av| 欧美日韩在线精品| 欧美一区二区三区婷婷月色| 欧美日韩国产精品成人| 欧美亚洲免费在线| 欧美精品久久久久久久| 性18欧美另类| 欧美激情中文字幕在线| 欧美一区二区三区男人的天堂| 久久成人精品电影| 最新热久久免费视频| 欧美在线精品一区| 亚洲精品一区久久久久久| 久久精品国语| 亚洲色诱最新| 欧美日韩1080p| 亚洲国产高清在线观看视频| 国产精品毛片va一区二区三区| 亚洲欧美另类在线观看| 欧美激情综合色| 欧美在线日韩在线| 国产精品久久久久免费a∨大胸|