2015移動互聯與接口技術_第03講a_第1頁
2015移動互聯與接口技術_第03講a_第2頁
2015移動互聯與接口技術_第03講a_第3頁
2015移動互聯與接口技術_第03講a_第4頁
2015移動互聯與接口技術_第03講a_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 Course Outline移動互聯與接設計學 分:2:34總課程參考作者:,2014.01機械工業授課教師:1 / 126口 Course Outline課程主要內容(1)微處理器/微控制器技術微處理器/微控制器技術特點; 主流半導體公司MPU/MCU電路板設計技術簡介。接口設計技術接口特點,BGA封裝及其表貼工藝,多層(2) 模擬信號接 數字信號接術、DC-DC電源變換技術;術:以太網接口、USB接口、CAN接口、RS232/SPI接口; 接口程序設計技術:狀態轉移法程序設計技術、Linux驅動程序設計技術。(3)無線互聯技術 WiFi、藍牙4.0、(Zigbee)及其組網技術; GSM

2、、WCDMA、TD-SCDMA、TD-LTE通訊原理及其應用技術特點; 無線通訊模塊工程接入應用技術。FPGA應用設計技術 FPGA/CPLD器件技術; 基于Verilog HDL的FPGA的應用邏輯設計技術。課程設計大作業基本要求:掌握以上各知識點的基本原理及應用方法。2 / 126接技術基于狀態機(狀態圖/狀態表)的接口程序設計方法接口設計方法舉例3 / 126口基于事件驅動狀態機的接口程序設計方法以采用“狀態轉移法”設計鍵控程序為例來進行設計方法說明。問題:設計一個編輯器。系統(如)的鍵控程序,例如設計一個全屏幕每個鍵在不同的工作狀態有不同的功能。即一鍵多意。每個鍵的具體功能含義與當前程

3、序的工作狀態有關。執行該按鍵功能后,當前程序的工作狀態可能遷移到另一狀態。在各個程序狀態下,每個鍵均可被按,但僅有部分按鍵起有效作用。程序狀態是有限的。 “狀態轉移法”中的“狀態”是借用控制系統理論中的一個概念。4 / 126“狀態轉移法”鍵控程序設計用“狀態轉移法”設計的鍵控程序,其運行過程是:當按下一個鍵或接到一個命令后,程序將從一個“狀態”遷移到另一個“狀態”(也可能是同一狀態),整個鍵控程序就是在各狀態之間跳動遷移。在某一狀態下,每一個鍵只有一個含義,按一個鍵,鍵控程序均執行一個功能子程序完成相應的任務,同時轉到下一個狀態。狀態轉移過程可以采用狀態轉移圖直觀和形象地表示,如下頁所示例,

4、圖中每個圓框表示一個狀態,每一條有向線段表示按某一鍵(或收到某一命令)時狀態轉移的路線,線路旁邊的字符表示所按的鍵。這里的“狀態”,是指鍵控程序執行一個鍵命令后,系統所處的位置及狀況。用“狀態轉移法”設計鍵控程序時,其程序基本框架是相同的,對不同的應用實例只需更改狀態表和子程序功能即可。因此,其程序具有結構通用性強、修改方便、便于閱讀等優點。5 / 126狀態轉移舉例以某款的部分按鍵功能及過程為例:(液晶屏幕)中國移動12:05PM2123“撥號”已接通指令“F1”20保存號碼狀態菜單本“取消”“取消”22數字鍵數字鍵0普通開機原始狀態“F1”“F2”“取消”“取消”菜單項-1信息1“/”菜單

5、項-3情景模式菜單項-4設定“/”菜單項-2 通話3“/”“F1”24“/”“/”“F1”“F1”5676 / 126#/ 0/ _*/ . ,9/wxyz8/tuv7/pqrs6/mno5/j kl 4/ghi3/def2/abc1/o_o取消撥號OKF2F1圖狀態轉移表結構7 / 126狀態鍵碼子程序次態000K1SUB001001K2SUB002006K3SUB003010*000001K1SUB101003K2SUB102007K3SUB103105*001部分CPU的相應跳轉指令51單片機:JMP TR ;相對DPTR的間接轉移8XC196KC單片機:BRndirect ;PC=(A

6、)TMS320F2812:LB *XAR7 ;LC *XAR7 ;long Indirect Branchlong Indirect Call8 / 126I設計方法應用舉例通過RS232與GPS模塊(Garmin15)的通訊接9 / 126口GARMIN GPS-1510 / 126GARMIN GPS-1511 / 126接收狀態具體處理可參見相應程序代碼12 / 126圖13 / 126PS/2鍵盤接口收發狀態機14 / 126實時系統基于消息傳遞的并行事務處理結構各中斷服務及調度程序由中斷級別最高的定時中斷擔任系統任務(事件)實時檢測與調度功能。中斷優先級最高的32位定時器中斷(100

7、us):負責管理調度各項與時間有關的所有任務及事件其它各或數據通訊中斷模塊飛行姿態模塊飛行控制調度模塊(20ms定時觸發)地面通訊模塊(10ms定時觸發)(中斷)飛行任務各層分解命令及飛行軌跡規劃數據及狀態參數飛行姿態及環境傳感數據部分可調控制參數其它各模塊間通信數據及部分參數各級各類實件由上述定時中斷共享數據黑板檢測和觸發,包括對于其它如A/D前臺main()程序主循環轉換、串等。通訊等中斷事件的觸發組織需要發送的狀態和姿態數據;使能串口1中斷; sci1_send_flag=0;Yessci1_send_flag =1組織與GPS索取數據使能串口2中斷; sci2_send_flag=0;

8、各類數據處理代碼、各類事務處理代碼,均放于前臺main()程序主循環內,根據相應事件消息狀態選擇運行。令;Yessci2_send_flag=1Yes其它操作標志相應操作;飛行姿態控制模塊 根據當前“參數黑板”中的相應姿態及任務狀態信息,調用控制算法;Yes該結構可保證系定的實時性、 算法運算結果送5脈寬控制寄存器; auto_control_flag=0;1并行性、和一定的靈活性。No15 / 126. . .口16接口設計技術小結弄清接協議、包括時序圖等。選擇和設計合適的接邏輯及電路。利用盡量簡單的方法實現接評價指標:對CPU的占用率;(越小越好)接口的可擴展性和靈活性;(亦即對數據格式的

9、易適應性)邏輯。 17 / 126口口口課程設計(?)題目一:以“狀態轉移法”鍵控程序設計方法,設計一個簡單的應用系統的全屏幕編輯器實現方案。包括硬件鍵盤接口設計部分,和程序代碼實現結構設計。題目二:以“狀態轉移法”鍵控程序設計方法,設計一個簡單的空調實現方案。包括硬件鍵盤接口設計部分,和程序代碼實現結構設計。MCU種類和程序設計語言不限,匯編和C/C+等均可。要求有完整的主控程序設計方案、接口硬件設計電路圖、程序設計流程圖、和關鍵程序流程代碼、以及必要的說明等。18 / 126應用舉例- 空調:的鍵控程序設計幾種空調19 / 126某種空調的鍵盤設置及屏幕信息布置20 / 126鍵控程序設計

10、功能分析及鍵盤(鍵碼)設計;(早期第一步)基于鍵控功能設計狀態遷移表;(最初可簡單勾畫狀態遷移圖)代碼實現;調試、修正、補充/刪減、和完善狀態表及相應代碼;測試、再修正等。21 / 126開始Watchdog起作用時系統初始化“狀態轉移法”程序設計方法關鍵代碼執行流程重復(循環)執行循環模塊開始在Current_Se所對應的 事件(鍵碼值/命令碼/消息碼等) 列表中查找當前事件Yes找到事件NoDefault操作Yes出錯處理響應?NoCurent_Se=Next_Se(事實上狀態未變)Current_Se=Next_seCurent_Se=Next_Se (異常處理后到合法狀態)(到下一狀態

11、)循環模塊結束22 / 126執行該事件所對應的操作子程序/或進程恢復 或 建立Current_Se 環境Current_Se = 0;或 從NVRAM非易失器提取之前狀態 并恢復Current_Se“狀態轉移法”程序設計方法舉例設計一款具體空調的鍵控程序狀態轉移表。(請一位/或兩位同學到黑板上來和我進行實際流程設計演練)遇到一種按鍵,如果不是返回到原有的某個狀態,就可添加一個新的狀態。不用擔心狀態多。狀態總是有限的。某個具體的狀態本身就代表和決定了當前所有的運行環境。每個功能子程序的最后工作可能就是“重新寫屏”,對于無效按鍵可能產生一個提示聲響。早期可能畫一個“狀態轉移圖”較好,后期熟練了就

12、不需要了,直接在“狀態轉移表”上進行“添加”或“刪除”即可。“修改”的代價較大。“狀態轉移表”是描述程序結構的重要文檔,需要保存好。23 / 126狀態轉移部分鍵控功能狀態轉移圖:不可能用圖的方法全面表述電池上電初始狀態0“開/關”“開/關”“通風”“制冷”“制熱” “除濕”“開/關”“開/關”“除濕”“+” “-”“風速”“風向”“時鐘”力”5“+” “-”“時鐘”制冷“制熱”制熱“除濕”除濕 “制熱”“通風”通風“除濕”1234“制冷”“延時到”“制冷”“制冷”“延時到”“時鐘”“制熱”“制熱”“通風”6“+”7N“-”“時鐘”24 / 126圖狀態轉移表結構25 / 126狀態鍵碼/或消

13、息碼子程序/進程次態000K1SUB001001K2SUB002006K3SUB003010*000001K1SUB101003K2SUB102007K3SUB103105*001狀態轉移表結構26 / 126狀態鍵碼/消息碼過程/進程功能次態000“開/關”SUB000001缺省進入制冷狀態;(*) 壓縮機等一系列控制;(延時啟制在空調機內) 屏幕刷新;無線發送;001001“-”SUB001001目標控制溫度-1; 屏幕刷新;無線發送;001“+”SUB001002目標控制溫度+1; 屏幕刷新;無線發送;001“風速”SUB001003(風速+1)取模; 風速控制動作狀態解算; 屏幕刷新;

14、無線發送;001“風向”SUB001004風向(自動或)等 控制動作狀態解算; 屏幕刷新;無線發送;001狀態轉移表結構27 / 126狀態鍵碼/消息碼過程/進程功能次態001“制冷”SUB001005屏幕刷新;無線發送;001“制熱”SUB001006轉變控制模式到制熱模式;(包括延時啟動的控制機制) 屏幕刷新;無線發送;002“除濕”SUB001007轉變控制模式到除濕模式; 屏幕刷新;無線發送;003“通風”SUB001008轉變控制模式到通風模式; 屏幕刷新;無線發送;004“強力”SUB001009轉到強力制冷模式; 屏幕刷新;無線發送;001(?)“時鐘”SUB001010轉到時間

15、設定模式;005“開/關”SUB001011壓縮機停等一系列控制;(包括延時啟動的控制機制) 屏幕刷新;無線發送;000(?)狀態轉移表結構28 / 126狀態鍵碼/消息碼過程/進程功能次態001“定時”SUB001012進入定時關機狀態(?)及其一系列控制機制; 屏幕刷新;無線發送;?002“+”“-”“風速”“風向”“制冷”“制熱”“除濕”“通風”“強力”“時鐘”“開/關”“定時”?修正后的狀態示意圖- 可以方便地添加狀態電池上電初始狀態025“開/關”6 “開/關”27“開/關” “開/關”282“通風”“開/關”“開/關”“制冷”“除濕”“制熱”“除濕”“開/關”“+” “-”“風速”

16、“風向”“時鐘”力”5“+” “-”“時鐘”“定時”制冷“制熱”制熱“制冷”“除濕”除濕 “制熱”“通風”通風“除濕”1234“延時到“制冷”“延時到”“制冷” ”“制熱”“時鐘”“制熱 ”“通風”356“+” “-”“時鐘”7N29 / 126狀態轉移表結構30 / 126狀態鍵碼/消息碼過程/進程功能次態001“制冷”SUB001005屏幕刷新;無線發送;001“制熱”SUB001006轉變控制模式到制熱模式;(包括延時啟動的控制機制)屏幕刷新;無線發送;002“除濕”SUB001007轉變控制模式到除濕模式; 屏幕刷新;無線發送;003“通風”SUB001008轉變控制模式到通風模式;

17、屏幕刷新;無線發送;004“強力”SUB001009轉到強力制冷模式;屏幕刷新;無線發送;001(?)“時鐘”SUB001010轉到時間設定模式;005“開/關”SUB001011壓縮機停等一系列控制;(包括延時啟動的控制機制)保存工作狀態;屏幕刷新;無線發送;025(修正/追加)狀態轉移表結構31 / 126狀態鍵碼/消息碼過程/進程功能次態001“定時”SUB001012進入定時關機狀態 及其一系列控制機制; 屏幕刷新;無線發送;035(追加)002“+”“-”“風速”“風向”“制冷”“制熱”“除濕”“通風”“強力”“時鐘”“開/關”“定時”?狀態轉移表結構32 / 126狀態鍵碼/消息碼

18、過程/進程功能次態025“開/關”SUB025001恢冷狀態及原設定等; 屏幕刷新;無線發送;001defaultSUB025900Do nothing025026“開/關”SUB026001恢熱狀態及原設定等; 屏幕刷新;無線發送;002defaultSUB026900Do nothing026027狀態轉移表結構繼續進行設計操作,逐步完善33 / 126狀態轉移表結構34 / 126狀態鍵碼/消息碼過程/進程功能次態000“開/關”SUB000001缺省進入制冷狀態;(*) 壓縮機等一系列控制;(延時啟制在空調機內) 屏幕刷新;無線發送;001001“-”SUB001001目標控制溫度-1

19、; 屏幕刷新;無線發送;001“+”SUB001002目標控制溫度+1; 屏幕刷新;無線發送;001“風速”SUB001003(風速+1)取模; 風速控制動作狀態解算; 屏幕刷新;無線發送;001“風向”SUB001004風向(自動或)等 控制動作 狀態解算; 屏幕刷新;無線發送;001狀態轉移表結構35 / 126狀態鍵碼/消息碼過程/進程功能次態001“制冷”SUB001005屏幕刷新;無線發送;001“制熱”SUB001006轉變控制模式到制熱模式;(包括延時啟動的控制機制) 屏幕刷新;無線發送;002“除濕”SUB001007轉變控制模式到除濕模式; 屏幕刷新;無線發送;003“通風”

20、SUB001008轉變控制模式到通風模式; 屏幕刷新;無線發送;004“強力”SUB001009轉到強力制冷模式; 屏幕刷新;無線發送;001(?)“時鐘”SUB001010轉到時間設定模式;005“開/關”SUB001011壓縮機停等一系列控制;(包括延時啟動的控制機制) 屏幕刷新;無線發送;狀態轉移表結構36 / 126狀態鍵碼/消息碼過程/進程功能次態001“定時”SUB001012進入定時關機狀態 及其一系列控制機制; 屏幕刷新;無線發送;消息碼defaultSUB001990Do nothing or 001002“+”“-”“風速”“風向”“制冷”“制熱”“除濕”狀態轉移表結構37

21、 / 126狀態鍵碼/消息碼過程/進程功能次態002“+”SUB002001目標控制溫度-1; 屏幕刷新;無線發送;002“- ”SUB002002目標控制溫度+1; 屏幕刷新;無線發送;002“風速”SUB002003(風速+1)取模; 風速控制動作狀態解算; 屏幕刷新;無線發送;002“風向”SUB002004風向(自動或)等控制動作狀態解算; 屏幕刷新;無線發送;002“制冷SUB002005屏幕刷新;無線發送;001”制熱“”SUB002006轉變控制模式到制熱模式;(包括延時啟動的控制機制)屏幕刷新;無線發送;002“除濕”SUB002007轉變控制模式到除濕模式;屏幕刷新;無線發送;003“通風”SUB002008式到通風模式;轉變控制模屏幕刷新;無線發送;0704狀態轉移表結構狀態鍵碼/消息碼過程/進程功能次態003“風向”SUB003004顯示風向狀態標志003“制冷”S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論