基于 ARM 的繡花機控制系統設計
摘要:繡花機控制系統作為繡花機最核心的部分,是提高性能和降低成本的關鍵。本文按照 嵌入式系統的開發過程,首先研究了繡花機控制系統的硬件框架,詳細設計了電源電路、復 位電路、存儲器接口電路、鍵盤與顯示電路、USB 接口電路等電路。然后按照上位機和下 位機的結構層次,構建了繡花機控制系統的軟件框架,對鍵盤輸入、圖形顯示、USB 驅動、 花樣存儲與管理、串口通信等具體模塊進行了軟件設計。這樣可設計出一套基于 ARM 的技 術先進、功能精簡、高性價比的繡花機控制系統。
本文引用地址:http://www.j9360.com/article/163938.htm關鍵詞:繡花機控制系統;嵌入式系統;ARM
0 引言
隨著全自動繡花機的不斷發展,機械方面的改進對機器的性能改善已經沒有太大的效果。因而,控制系統就成為了繡花機提高性能和降低成本的關鍵,也是各大繡花機廠商的競 爭重點[1,2]。控制系統的硬件決定了整個系統的可靠性和穩定性,硬件質量的好壞除了 CPU 芯片之外,外圍芯片的選擇和電路的設計也起著至關重要的作用。而控制系統所有的功能都 需要通過軟件來實現,軟件的設計對于將來系統的穩定運行至關重要。
由于市場上絕大部分微處理器芯片都是以 ARM 為基礎[3],本文研究了基于 ARM 的繡 花機控制系統的軟硬件設計。首先在 LH7A404 和 LPC2214 的基礎上確定了繡花機控制系統的硬件框架,詳細設計了電源電路、復位電路、存儲器接口電路、鍵盤與顯示電路等具體電 路以及接口;然后按照上位機和下位機的層次構建了繡花機控制系統的軟件框架,對鍵盤輸入、圖形顯示、USB 驅動、花樣存儲與管理、串口通信等具體模塊的軟件進行了設計。
1 控制系統軟硬件框架
根據繡花機系統的模塊劃分和系統架構,硬件可以分為上位機和下位機系統,兩者通過串行接口進行實時通信,分別圍繞 LH7A404 和 LPC2214 兩個 CPU 進行設計。硬件框架如圖 1 所示,LH7A404 作為上層 CPU 負責輸入輸出接口和花樣存儲系統,LPC2214 作為下層 CPU 負責繡花機機械動作的控制。其中電源電路和復位電路為兩個 CPU 共用。
圖 1 繡花機控制系統硬件框架
控制系統的軟件部分的設計也依據此結構劃分層次,上位機系統包括鍵盤輸入、圖形顯 示、USB 驅動、花樣存儲與管理,下位機系統即為機電控制模塊,包括機電控制系統和機 電執行系統。軟件框架如圖 2 所示。
圖 2 繡花機控制系統軟件框架
2 控制系統硬件設計
2.1 電源電路
開關電源系統提供 5V 和 12V 兩套電源,5V 電源用于驅動各 I/O 口,12V 電源直接作為機電和底層設備的驅動電源。由于整個系統控制電路的工作電壓并不都是 5V 和 12V,需 要對 5V 電源進行 DC-DC 轉換,因此本文采用 TI 公司的 TPS54310PWP 電壓轉換芯片將 5V 電源轉換成 3.3V/3A 的電源,用于給 CPU 及其外圍電路供電。另外,系統 CPU 內核需要1.8V 的電壓供給,且消耗電流的極限不超過 200mA,為保證可靠性并留下一定余量,1.8V 的電源系統提供的電流應不小于 0.5A。備份電池用于斷電時給 SRAM 供電,以便及時備份 數據,需要 3.9V/0.5A 的電源供給。
2.2 復位電路
復位電路主要實現系統上電復位、手動復位和電源監控三個功能。系統上電時 CPU 狀態不穩定,需要有一個復位邏輯將其初始化為某個確定的狀態;系統運行過程中,程序可能“跑飛”或進入死循環,這時需要強行對系統手動復位;電源系統的可靠性直接影響到控制 系統的穩定性,需要有一個監控電路來監控電源的變化。
2.3 存儲器接口電路
數據存儲器分為動態存儲器和靜態存儲器兩種。本控制系統中應用了同步動態存儲器(SDRAM)和雙口靜態存儲器(SRAM)。SDRAM 成本低廉,容量大,應用比較廣泛,在 上位機系統的設計中根據 LH7A404 存儲器接口的特點選用 Micron Technology 公司的 MT48LC16M16GT-75 作為設計基礎。雙口靜態存儲器 SRAM 成本較高、容量較小,但具有 存取速度快、接口簡單、掉電后保存數據的優點。根據 LPC2214 的接口特點,設計中選用
ISSI 公司的 IS61LV25616AL 芯片,具有 512KB 的容量。 程序存儲器用于存儲啟動代碼、操作系統、應用程序和部分重要數據。考慮到系統的軟件升級和數據擦寫,選擇 FLASH 存儲器,它具有低功耗、大容量、擦寫速度快、可整片或 分扇區在線編程(燒寫)和擦除等特點。在上位機和下位機系統的設計中,選用 INTEL 公 司的 3V StrataFlashTM 存儲器 E28F128J3,其單片容量可達 16MB,有 128 個 128K 字節可擦除塊,每個數據塊 100000 個擦除周期。
2.4 鍵盤與顯示電路
鍵盤是系統操作的輸入設備,用于輸入數字參數和控制命令。本控制系統的按鍵總共有36 個,采用矩陣式結構。ROW1~ROW6 和 COL1~COL7 分別為 6 行和 7 列按鍵的接口。將 行線 ROW1~ROW6 設為輸出,輸出值設為 0,列線 COL1~COL7 設為輸入,在每一行和每 一列的交叉點放置一個按鍵,每個按鍵就是一個瞬時接觸開關,AT89C2051 通過這些接口 按照一定的頻率對鍵盤進行定時掃描。uP_KMIDAT 和 uP_KMICLK 為 PS2 鍵盤接口。
顯示器是系統的輸出設備,用于反饋系統的運行狀態,并給用戶以直觀信息,用戶可以 根據提示進行相應的操作。本控制系統采用 LCD 顯示屏,沒有驅動電路,需要設計驅動電路與之配合使用。設計中所選的液晶顯示屏是 SHARP 公司的 5.7 寸顯示屏 LQ057Q3DC12I, 其供電要求是 3.0V~3.6V,需將芯片接上 3.3V 的電壓。
3 控制系統軟件設計
3.1 鍵盤輸入程序
鍵盤輸入模塊的工作任務包括鍵盤掃描、鍵盤驅動和鍵盤處理。鍵盤掃描獲得按鍵的掃描碼,鍵盤驅動接收掃描碼并對其進行處理,將處理后的數據送至應用程序,應用程序獲得鍵值信息后對信息進行處理,實現按鍵功能。
鍵盤采用循環掃描方式,按照設定的掃描頻率對鍵盤輸入進行檢測。系統創建一個掃 描任務,當檢測到合法按鍵之后就將該按鍵掃描碼寫入消息發送給其他任務,通知系統某鍵 被按下,被按鍵的掃描碼通常放置在一個緩沖區內,直到該應用程序準備處理一個按鍵為止。鍵盤驅動由 VxWorks 操作系統的一個可選組件――多媒體庫 WindML 提供[4],包括下 層驅動和上層驅動。下層驅動負責驅動設備控制器并向上層驅動傳送設備的原始數據,它是 作為 I/O 驅動來實現的,被設置在系統內核。上層驅動接收來自下層驅動的設備原始數據,并進行解釋處理,將其打包成一個輸入事件信息,然后將該信息發送至驅動接口。 應用程序通過驅動獲得鍵盤的狀態之后,根據從緩沖區讀出的鍵值,按照鍵盤的預定義對各控制模塊的組態信息進行設置,以執行相應的功能。
評論