




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第8章 ARM嵌入式系統(tǒng)設(shè)計開發(fā)實例 8.1基于ARM+C/OS-的嵌入式磨削數(shù)控系統(tǒng)的設(shè)計8.2 基于ARM + Linux的現(xiàn)代化超市電子購物系統(tǒng)的設(shè)計 8.3 基于ARM+ Linux的嵌入式數(shù)控磨床控制系統(tǒng)的設(shè)計 8.1 基于ARM+C/OS-的嵌入式磨削數(shù)控系統(tǒng)的設(shè)計8.1.1 前言嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟、硬件可剪裁,適用于對功能、可靠性、成本、體積、功耗要求嚴(yán)格的專用計算機系統(tǒng)。由于嵌入式系統(tǒng)具有微內(nèi)核、系統(tǒng)精簡、強實時性、專用性強等特點,因此特別適合具有實時性能要求的機電控制系統(tǒng)。 傳統(tǒng)的基于單片機的簡易數(shù)控系統(tǒng),雖然造價低,但功能不足,而基于工業(yè)PC的
2、嵌入型數(shù)控系統(tǒng)、基于高端PLC的專用數(shù)控系統(tǒng)等性能較好,但造價太高?;诟咝阅芮度胧轿⑻幚砥骱蛯崟r操作系統(tǒng)的嵌入式數(shù)控系統(tǒng),將克服上述兩類數(shù)控系統(tǒng)的不足,具有性能好、成本低、體積小、結(jié)構(gòu)靈活等優(yōu)點,具有高的性價比,是未來數(shù)控系統(tǒng)的發(fā)展方向。本節(jié)以基于M250磨床的數(shù)控系統(tǒng)改造為研究背景,探討基于S3C44B0X實現(xiàn)的、具有一定通用性的嵌入式磨削數(shù)控系統(tǒng)的設(shè)計與實現(xiàn)問題。 8.1.2 系統(tǒng)硬件設(shè)計1. S3C44B0X微處理器簡介 S3C44B0X是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價比、高性能的16/32位RISC型嵌入式微處理器。它集成了ARM7TDMI核,采用0.25m CMOS工藝
3、制造,并在ARM7TDMI核基本功能的基礎(chǔ)上集成了8KB Cache(數(shù)據(jù)或指令)、內(nèi)部SRAM、外部存儲器控制器、LCD控制器、4個DMA通道、帶自動握手的2通道UART、1個多主I2C總線控制器、1個I2S總線控制器、5通道PWM定時器、1個看門狗定時器、71個通用I/O口、8個外部中斷源、具有日歷功能的實時RTC、8通道10位A/D轉(zhuǎn)換器、1個SIO接口以及PLL(鎖相環(huán))時鐘發(fā)生器等豐富的外圍功能模塊,非常適合于成本和功耗要求較高的嵌入式應(yīng)用系統(tǒng)。 圖8.1 嵌入式磨削數(shù)控系統(tǒng)硬件組成框圖 2存儲器的擴展為了滿足需要,本系統(tǒng)擴展了Flash程序存儲器和SDRAM數(shù)據(jù)存儲器。Flash程
4、序存儲器在系統(tǒng)中用于存放程序代碼。本系統(tǒng)采用一片SST39VF160構(gòu)建16位的Flash存儲器系統(tǒng),其存儲容量為2MB,并將其配置到存儲器的Bank0,即將S3C44B0X的nGCS0接至SST39VF160的片選信號nCE端,S3C44B0X的A20A1接至SST39VF160的A19A0端,其地址范圍是0 x000000000 x001FFFFF。SDRAM數(shù)據(jù)存儲器在系統(tǒng)中主要用作程序的運行空間、數(shù)據(jù)及堆棧區(qū)。本系統(tǒng)使用HY57V651620B構(gòu)建16位SDRAM存儲器系統(tǒng),并通過nCS6將其配置到存儲器的BANK6,其存儲容量為4組16M位(8MB),其地址范圍是0 x0C00000
5、00 x0C7FFFFF。 3通信和調(diào)試接口為了滿足系統(tǒng)各種可能的通信和調(diào)試需要,系統(tǒng)配備了RS-232C接口、USB接口以及JTAG接口。其中RS-232C接口用于直接從PC機接收有關(guān)加工信息數(shù)據(jù),USB接口用于接收U盤等USB移動設(shè)備存儲的有關(guān)加工信息數(shù)據(jù),JTAG接口則供系統(tǒng)交叉調(diào)試使用。由于S3C44B0X只有UART0/1并沒有集成RS-232C接口,這里選用MAX3232作為UART到RS-232C的電平轉(zhuǎn)換芯片,以便其與PC機等其他設(shè)備進行串行通信。因S3C44B0X內(nèi)部沒有USB接口,這里選用USB1.1版本的USBN9603作為S3C44B0X擴展USB控制器的接口芯片。二者
6、采用并行總線方式進行連接,S3C44B0X通過總線操作(nGCS4作為片選信號)對USBN9603進行控制,完成USB的讀寫操作。由于S3C44B0X中集成了JTAG信號,因此只需引出這些信號線在板上擴出JTAG口,即可與JTAG調(diào)試器進行通信。有關(guān)接口電路的具體連接此處略。4電機驅(qū)動控制模塊系統(tǒng)選用兩個交流伺服電機,交流伺服電機的控制采用位置控制。系統(tǒng)中采用S3C44B0X所具有的脈沖寬度調(diào)制PWM方式的輸出進行控制。 5人機交互模塊系統(tǒng)需要顯示的基本信息包括X軸和Y軸坐標(biāo)值(含X軸和Y軸運行方向指示)、參數(shù)值(磨削粗、精、光,速度,進給,粗磨,精磨;修整補償量、補償間隔,進給量、工件統(tǒng)計)
7、、磨削余量(光柱)、工作狀態(tài)指示(快進、粗磨、精磨、光磨、快退、等待、修整)和控制方式指示(自動、半自動、調(diào)校)等。同時為了操作和控制的方便,我們還可顯示其他有關(guān)的操作信息和控制界面。因此本系統(tǒng)選用LCD液晶顯示器進行顯示。由于S3C44B0X處理器本身自帶LCD控制系統(tǒng),而且可以驅(qū)動所選用的液晶顯示屏,所以只要選用合適的LCD顯示器并把相應(yīng)的控制信號進行連接即可。系統(tǒng)用于參數(shù)設(shè)置和加工控制的鍵盤采用矩陣式鍵盤,并選用中斷掃描工作方式。 8.1.3 系統(tǒng)軟件設(shè)計 1C/OS-操作系統(tǒng)的移植所謂C/OS-的移植,實際上就是對C/OS-中與處理器有關(guān)的代碼進行重寫或修改。其移植應(yīng)滿足以下要求:AR
8、M處理器的C編譯器可以產(chǎn)生可重入代碼;可以使用C 調(diào)用進入和退出臨界區(qū)代碼;處理器必須支持硬件中斷,并且需要一個定時中斷源;處理器需要能夠容納一定數(shù)據(jù)的硬件堆棧;處理器需要有能夠在CPU寄存器與內(nèi)核和堆棧間交換數(shù)據(jù)的指令,移植C/OS-內(nèi)核主要步驟如下:用#define設(shè)置一個常量的值;用#define分別聲明3個宏和10個與編譯器相關(guān)的數(shù)據(jù)類型(在OS_CPU.H中);用C語言編寫6個與操作系統(tǒng)相關(guān)的函數(shù)(在OS_CPU_C.C中);用匯編語言編寫4個與處理器相關(guān)的函數(shù)(在OS_CPU_A.ASM中)。 2硬件驅(qū)動層擴展在硬件之上,必須有驅(qū)動程序來實現(xiàn)對硬件的基本操作。事實上,C/OS-并沒
9、有給驅(qū)動程序提供統(tǒng)一的標(biāo)準(zhǔn)接口,任何在系統(tǒng)中實現(xiàn)硬件管理的程序都可以稱之為驅(qū)動程序。底層驅(qū)動程序通常采用匯編或C語言編寫,主要實現(xiàn)初始化硬件和釋放硬件,把數(shù)據(jù)從內(nèi)核傳到硬件和從硬件讀取數(shù)據(jù),檢測和處理設(shè)備出現(xiàn)的錯誤和故障。同時,還必須將對某個硬件進行的某項操作的代碼封裝成函數(shù),供上層的程序調(diào)用。在本系統(tǒng)中,主要完成通信接口、電機驅(qū)動控制、LCD顯示等外設(shè)驅(qū)動函數(shù)的編寫。限于篇幅,下面僅介紹系統(tǒng)中一個重要的驅(qū)動程序USB驅(qū)動程序的編寫。USB驅(qū)動程序的主要任務(wù)是初始化USB接口、控制USB的讀寫操作、進行USB中斷操作及處理USB中斷服務(wù)程序。USB主機的軟件流程如圖8.2所示。 圖8.2 US
10、B主機的軟件流程圖 3應(yīng)用程序代碼的編寫1) main主函數(shù)的編寫多任務(wù)的啟動是通過在主函數(shù)main中調(diào)用OSStart()來實現(xiàn)的。調(diào)用OSStart()后,從任務(wù)就緒表中找到優(yōu)先級最高的任務(wù)控制塊,啟動高優(yōu)先級任務(wù)啟動函數(shù)OSStartHighRdy()然后再啟動多任務(wù)內(nèi)核。在主程序main()中需要做的是調(diào)用OSInit()對有關(guān)變量初始化,創(chuàng)建任務(wù),調(diào)用OSStart()進入實時多任務(wù)環(huán)境,同時啟動時間節(jié)拍定時器,調(diào)度任務(wù)就緒表中優(yōu)先級最高的任務(wù)轉(zhuǎn)入運行,獲得CPU,運行開始。 2) 中斷函數(shù)的編寫中斷函數(shù)的編寫和沒有嵌入式操作系統(tǒng)時基本相同,只是在原來的基礎(chǔ)上在固定的兩個位置增加兩個
11、函數(shù)OSIntEnter()和OSIntExit(),并在系統(tǒng)初始化時掛接在中斷向量表中。在中斷服務(wù)程序編寫的過程中要注意關(guān)中斷的時間。在C/OS-中,應(yīng)把數(shù)據(jù)處理任務(wù)的優(yōu)先級設(shè)得高一些,并在中斷服務(wù)程序中使它進入就緒狀態(tài),這樣可保證系統(tǒng)在調(diào)用OSIntExit()時判斷是否進行任務(wù)切換;并在中斷結(jié)束后立即調(diào)度并執(zhí)行相應(yīng)的數(shù)據(jù)處理任務(wù),以使中斷響應(yīng)的時間限制在一定范圍之內(nèi)。 3) 用戶任務(wù)的編寫基于C/OS-操作系統(tǒng)內(nèi)核的應(yīng)用代碼編程,主要就是對各個任務(wù)的編程。本系統(tǒng)中OSTaskCreate()創(chuàng)建了10個用戶任務(wù):作業(yè)控制、U盤讀寫、鍵盤輸入、代碼翻譯、插補運算、電機控制、液晶顯示、檢測報
12、警、電源管理、時鐘任務(wù),同時還包括空閑任務(wù)和統(tǒng)計任務(wù)等兩個系統(tǒng)任務(wù)。其中時鐘任務(wù)優(yōu)先級最高,它是一個超級任務(wù),用來對其他任務(wù)進行超時監(jiān)控,以避免程序“跑飛”或陷入死循環(huán)。若數(shù)控系統(tǒng)功能需要增減,則只要在相應(yīng)的任務(wù)中進行模塊的添加和刪除。為了使系統(tǒng)更加快速、靈活、準(zhǔn)確,根據(jù)任務(wù)的優(yōu)先級把用戶任務(wù)劃分為四層:數(shù)據(jù)采集層、數(shù)據(jù)處理層、控制執(zhí)行層和輔助管理層,并從優(yōu)先級5開始定義。優(yōu)先級最高的是數(shù)據(jù)采集層,包括U盤讀寫、鍵盤輸入等任務(wù),主要是準(zhǔn)確無誤地讀取加工信息并傳遞給數(shù)據(jù)處理層; 數(shù)據(jù)處理層是核心層,包括代碼翻譯、插補運算等任務(wù),它根據(jù)數(shù)據(jù)采集層提供的加工信息,選擇相應(yīng)的控制策略,進行有關(guān)數(shù)據(jù)處理
13、,發(fā)出相應(yīng)的控制指令;控制執(zhí)行層包括電機控制、液晶顯示等任務(wù),根據(jù)數(shù)據(jù)處理層的期望值作為控制量,驅(qū)動相應(yīng)的電機工作控制磨削加工,顯示有關(guān)加工信息;輔助管理層包括電源管理、檢測報警等任務(wù),優(yōu)先級最低,主要完成一些電源管理和系統(tǒng)診斷等輔助功能。各層內(nèi)的任務(wù)優(yōu)先級不是特別重要,可以根據(jù)具體應(yīng)用進行合理的設(shè)定。任務(wù)間的通信可以通過郵箱、消息隊列等IPC機制來實現(xiàn)。限于篇幅,下面僅介紹電機控制任務(wù)的程序設(shè)計。磨削機系統(tǒng)中主軸電機只需要實現(xiàn)簡單的通斷控制即可,而要求兩臺交流伺服電機能夠?qū)崿F(xiàn)聯(lián)動,既可以實現(xiàn)同方向同時旋轉(zhuǎn),又可以實現(xiàn)反方向同時旋轉(zhuǎn)。該系統(tǒng)通過S3C44B0X的PWM輸出通道產(chǎn)生連續(xù)的脈沖,為
14、實現(xiàn)交流伺服電機較精確的位置控制和實時響應(yīng),采用軟件定時中斷的方式實現(xiàn)電機控制脈沖的發(fā)送。PWM控制流程如圖8.3所示,其中系統(tǒng)中所采用的插補算法為直接函數(shù)計算插補法,可達到較高的進給速度。 圖8.3 PWM控制流程圖 8.1.4 結(jié)論本嵌入式磨削數(shù)控系統(tǒng)以S3C44B0X為控制器,以C/OS-為操作系統(tǒng),以U盤進行加工信息的離線傳輸,以PWM方式進行電機控制,以LCD顯示器進行顯示,并配有輸入鍵盤、程序存儲器、數(shù)據(jù)存儲器以及多種數(shù)據(jù)通信接口。它具有控制精度高、成本低、體積小、易于擴展和升級等特點,是傳統(tǒng)機床的數(shù)控化改造和經(jīng)濟型數(shù)控機床升級開發(fā)的發(fā)展趨勢。本設(shè)計的創(chuàng)新之處就是設(shè)計了一個基于S3
15、C44B0X的嵌入式磨削數(shù)控系統(tǒng),為傳統(tǒng)機床的數(shù)控化改造和經(jīng)濟型數(shù)控機床升級開發(fā)提供了一種可行而實用的設(shè)計思路。8.2 基于ARM+Linux的現(xiàn)代化超市電子購物系統(tǒng)的設(shè)計8.2.1 前言隨著社會的進步和發(fā)展,工農(nóng)業(yè)生產(chǎn)和人民生活對嵌入式系統(tǒng)的功能和性能的要求不斷提高,原有的以單片機或嵌入式微處理器為核心的嵌入式系統(tǒng)已難以滿足某些高科技場合的需求。近幾年基于32位ARM結(jié)構(gòu)的微處理器+嵌入式操作系統(tǒng)的嵌入式系統(tǒng)便應(yīng)運而生,并成為嵌入式系統(tǒng)的研究熱點。本節(jié)以現(xiàn)代化超市為背景,旨在解決目前超市中存在的查詢商品不便、排長隊結(jié)賬、超市內(nèi)定位困難、服務(wù)和信息滯后等問題,采用嵌入式系統(tǒng)、射頻識別(RFID
16、)、無線局域網(wǎng)、數(shù)據(jù)庫、多媒體等技術(shù),實現(xiàn)了現(xiàn)代化超市電子購物系統(tǒng)。8.2.2 系統(tǒng)總體設(shè)計系統(tǒng)采用具有全球唯一UID的“電子標(biāo)簽”作為商品、會員和位置的信息載體。移動購物終端獲得由RFID讀卡模塊讀取的UID,通過無線局域網(wǎng)查詢數(shù)據(jù)庫信息后進行相應(yīng)的處理。將電子標(biāo)簽放在每個商品和會員卡中,移動購物終端就能自動識別并處理商品信息和顧客信息;將電子標(biāo)簽放在超市的地面下,移動購物終端就能自動在超市內(nèi)定位。 系統(tǒng)由移動購物終端和服務(wù)器端兩大部分構(gòu)成,均采用Linux操作系統(tǒng),通過802.11b無限局域網(wǎng)連接。移動購物終端以Sitsang板為核心,外接CF無線局域網(wǎng)卡、相應(yīng)的讀卡模塊和讀卡控制電路,并
17、安裝在超市的購物小車上。服務(wù)器端由PC機、無限AP、打印機隊列組成,通過設(shè)計服務(wù)程序為終端提供數(shù)據(jù)庫服務(wù)、NFS服務(wù)、語音服務(wù)、自動結(jié)賬服務(wù),實現(xiàn)系統(tǒng)的各種功能。系統(tǒng)的總體結(jié)構(gòu)示意圖如圖8.4所示,信息處理流程圖如圖8.5所示。 圖8.4 系統(tǒng)總體結(jié)構(gòu)示意圖 圖8.5 信息處理流程圖 8.2.3 移動購物終端硬件設(shè)計移動購物終端采用兩個RFID讀卡模塊,一個是識別商品電子標(biāo)簽的商品電子讀卡模塊,另一個是識別定位電子標(biāo)簽的定位標(biāo)簽讀卡模塊,兩個模塊均選用了Promatic公司的PRR8032 RFID讀卡模塊,電子標(biāo)簽采用TI公司的Tag-it HF-I Inlay(ISO15693)無源標(biāo)簽。
18、UID是每個電子標(biāo)簽中的全球唯一的64位標(biāo)識碼,根據(jù)ISO15693-3協(xié)議,它具有嚴(yán)格的數(shù)據(jù)格式,在生產(chǎn)過程中已經(jīng)被固化在每一個電子標(biāo)簽的微電子芯片中,生產(chǎn)出以后不能再修改。移動購物終端的硬件結(jié)構(gòu)如圖8.6所示。圖8.7是商品/會員標(biāo)簽和定位標(biāo)簽讀卡控制電路框圖。圖8.6 系統(tǒng)硬件結(jié)構(gòu)框圖 圖8.7 商品/會員標(biāo)簽和定位標(biāo)簽讀卡控制電路框圖 8.2.4 移動購物終端軟件設(shè)計移動購物終端的軟件是基于Sitsang平臺和Linux操作系統(tǒng),采用多進程技術(shù)開發(fā),通過模塊化的設(shè)計,完成對商品信息、會員信息、超市服務(wù)信息的識別、查詢、管理、操作與顯示。圖8.8是軟件總體結(jié)構(gòu)流程圖。移動購物終端軟件設(shè)計
19、包括圖形界面設(shè)計和應(yīng)用程序設(shè)計。其中圖形界面設(shè)計使用Linux平臺的QT/Embedded Evaluation Version2.3.2開發(fā),采用QT特有的信號和槽(Signals and Slot)機制設(shè)計全新的圖形界面和應(yīng)用程序。圖8.9圖8.16為系統(tǒng)部分擬設(shè)計的典型圖形界面。應(yīng)用程序設(shè)計主要包括讀卡模塊設(shè)計、表格顯示模塊設(shè)計、數(shù)據(jù)庫客戶端模塊設(shè)計等。 圖8.8 軟件總體結(jié)構(gòu)流程圖 圖8.9 會員身份識別與登錄界面 圖8.10 顧客與商品定位界面 圖8.11 商品分類查詢界面 圖8.12 購物清單界面 圖8.13 商品識別與顯示界面 圖8.14 商品詳細內(nèi)容顯示界面 圖8.15 自動結(jié)
20、賬界面 圖8.16 超市3D布局瀏覽界面 8.2.5 移動購物服務(wù)器端設(shè)計服務(wù)器使用Redhat Linux 9.0操作系統(tǒng),并安裝較新版本的MySQL數(shù)據(jù)庫。通過配置打印機隊列進行購物小票的打印。通過多個AP覆蓋整個超市的范圍,服務(wù)器就可以同時為多個移動購物終端提供各種服務(wù)。服務(wù)器端編寫了自動結(jié)賬、語音服務(wù)等服務(wù)程序,并制作了相應(yīng)操作界面,管理各種信息。服務(wù)器端的設(shè)計主要包括三個方面:數(shù)據(jù)庫的設(shè)計、定位子系統(tǒng)的設(shè)計、自動結(jié)賬子系統(tǒng)的設(shè)計。限于篇幅,有關(guān)具體設(shè)計略。 8.2.6 系統(tǒng)設(shè)計開發(fā)調(diào)試結(jié)果1應(yīng)用程序開發(fā)環(huán)境的建立通過修改內(nèi)核源程序printk.c中的printk函數(shù),杜絕系統(tǒng)的內(nèi)核輸
21、出信息破壞圖形界面顯示:通過修改USB主口驅(qū)動源程序usbserio.c中的get_free_serial函數(shù)和結(jié)構(gòu)體變量,并在編譯內(nèi)核時選擇模塊USB FTDI Single Port Serial Driver,編譯模塊后將usbserial.o和ftdi_sio.o加載入內(nèi)核,驅(qū)動FT232BM芯片將USB主口轉(zhuǎn)換為UART;在定制文件系統(tǒng)時刪去與qpe桌面相關(guān)的部分,將移動購物終端軟件的程序及文件拷貝到/usr/qpe/bin目錄下取代原qpe桌面程序,修改qpe.sh腳本,即可實現(xiàn)在開機后自動運行終端程序并進入圖形界面。 2網(wǎng)絡(luò)調(diào)試環(huán)境建立為解決在一臺PC機上同時運行兩個Linux操
22、作系統(tǒng)的問題,本設(shè)計采用在WindowsXP系統(tǒng)中安裝虛擬機的方法。在虛擬機里安裝兩個Linux操作系統(tǒng),一個作為宿主機,一個作為目標(biāo)機,這樣就可利用切換鍵在這三個系統(tǒng)之間相互切換,并建立三個系統(tǒng)的通信,既能充分利用熟悉的Windows操作系統(tǒng)的網(wǎng)絡(luò)資源,又能共享三個系統(tǒng)的資源。 3圖形界面的調(diào)試在VMware中搭建調(diào)試環(huán)境,建立development機和target機,在VMware里使用kgdb進行調(diào)試環(huán)境的搭建。在development機上配合使用一些其他的調(diào)試工具,本設(shè)計使用的是圖形界面的DDD調(diào)試器,方便了內(nèi)核的調(diào)試工作。圖8.17圖8.20為系統(tǒng)部分典型圖形界面的調(diào)試結(jié)果。 圖8.
23、17 超市登錄界面的調(diào)試結(jié)果 圖8.18 商品分類查詢界面的調(diào)試結(jié)果 圖8.19 購物清單界面的調(diào)試結(jié)果 圖8.20 自動結(jié)賬界面的調(diào)試結(jié)果 4內(nèi)核在PXA255上的移植(1) 內(nèi)核的修改配置。找到經(jīng)過裁剪編譯的內(nèi)核,修改配置文件,匹配交叉編譯器;在193行找到ARCH,并進行對應(yīng)的修改;配置編譯的內(nèi)核,修改動態(tài)參數(shù)。(2) 編譯內(nèi)核。創(chuàng)建一個指向裁剪后的內(nèi)核源代碼符號;進入此目錄;運行清理包命令: make mrproper;使用現(xiàn)有的配置文件作為新內(nèi)核配置文件的基礎(chǔ),復(fù)制已經(jīng)存在的配置文件到相應(yīng)的目錄中;運行sudo make menuconfig或sudo make xconfig進行編
24、譯。(3) 下載移植。下載zImage到開發(fā)板,完成移植。 8.2.7 結(jié)論系統(tǒng)由移動購物終端和服務(wù)器端組成,其中移動購物終端以Sitsang開發(fā)板和RIFD感應(yīng)器為基礎(chǔ)設(shè)計制作,借助于RFID卡和埋設(shè)在貨架通道上的定位卡,可以通過用戶購物車系統(tǒng)方便地獲得商品信息和超市導(dǎo)購信息。整個系統(tǒng)具有友好的中文圖形界面,能夠?qū)崿F(xiàn)商品的自動識別與詳細信息顯示、購物清單管理、商品分類查詢、顧客定位與商品定位、自動結(jié)賬、會員身份識別與管理、超市3D布局顯示、語音呼叫與留言等功能。本設(shè)計主要應(yīng)用于現(xiàn)代化超市中,還可以應(yīng)用到圖書館、倉儲、檔案室、物流等領(lǐng)域,具有良好的應(yīng)用價值。 8.3 基于ARM+Linux的嵌
25、入式數(shù)控磨床控制系統(tǒng)的設(shè)計8.3.1 前言當(dāng)今,數(shù)控機床以節(jié)約勞動力、生產(chǎn)效率高、精度可靠性高、柔性高等優(yōu)勢,已經(jīng)逐漸取代了傳統(tǒng)機床。嵌入式系統(tǒng)相比于傳統(tǒng)的單片機系統(tǒng)和PC平臺,既有單片機系統(tǒng)成本低、系統(tǒng)結(jié)構(gòu)精簡、體積小、功耗低的特點,又具有PC平臺的開發(fā)環(huán)境好、資源豐富、具備操作系統(tǒng)、用戶界面友好的特點,恰恰彌補了傳統(tǒng)數(shù)控系統(tǒng)的不足。它不僅具有可靠性高、穩(wěn)定性好、功能強的優(yōu)點,而且具有良好的可移植性和可裁減性,可根據(jù)實際需求進行系統(tǒng)功能的擴展和裁減,因而在數(shù)控技術(shù)領(lǐng)域就有良好的發(fā)展前景。本節(jié)以基于傳統(tǒng)數(shù)控磨床的數(shù)控系統(tǒng)改造為研究背景,探討基于S3C2440A實現(xiàn)的、具有一定通用性的嵌入式數(shù)控
26、磨床控制系統(tǒng)的設(shè)計與實現(xiàn)問題。 8.3.2 系統(tǒng)總體設(shè)計系統(tǒng)基于原始PC數(shù)控磨床的基礎(chǔ)上進行改造設(shè)計,以三星公司的S3C2440A微處理器為核心。為通過擴展用戶板塊構(gòu)成硬件平臺,采用Linux操作系統(tǒng)為軟件平臺,編寫設(shè)備驅(qū)動程序、數(shù)控算法、人機交換界面等,以實現(xiàn)向伺服電機和步進電機驅(qū)動器提供控制信號,控制數(shù)控磨床各個刀片的旋轉(zhuǎn)和走位的嵌入式數(shù)控磨床的控制系統(tǒng)。它可以從USB和SD卡中讀取要加工的文件,也可以通過網(wǎng)絡(luò)或串口、USB下載存入Flash的具體地址,同時網(wǎng)絡(luò)功能也為遠程監(jiān)控做好了準(zhǔn)備。系統(tǒng)選用兩個交流伺服電機,交流伺服電機的控制采用位置控制,系統(tǒng)中采用S3C2440A所具有的脈沖寬度調(diào)
27、制PWM方式的輸出進行控制、加工。同時系統(tǒng)主板上有多種接口,為以后擴展其他功能做好準(zhǔn)備,如擴展網(wǎng)絡(luò)攝像機,以更方便、更直觀地進行遠程監(jiān)控。8.3.3 系統(tǒng)硬件設(shè)計系統(tǒng)硬件以三星公司的S3C2440A ARM9芯片為核心(處理器為ARM920T),擴展用戶板塊組成,硬件系統(tǒng)如圖8.21所示。 圖8.21 數(shù)控系統(tǒng)硬件框圖 1. S3C2440A微處理器選擇由于本系統(tǒng)對處理速度要求高,所以選用ARM9內(nèi)核芯片;并且所要實現(xiàn)的功能比較強大,集成了很多的模塊,如觸摸屏、USB、攝像頭等,所以選用目前比較流行且集成度相當(dāng)高的S3C2440A芯片。S3C2440A采用ARM920T內(nèi)核,集成的片上功能有:
28、1.2V內(nèi)核,1.8V/2.5V/3.3V儲存器,3.3V擴展I/O,16KB指令Cache(I-Cache)/16 KB數(shù)據(jù)Cache(D-Cache);外部儲存控制器(SDRAM控制盒片選邏輯);集成LCD專用DMA的LCD控制器(支持最大4K色STN和256K色TFT);4路擁有外部請求引腳的DMA控制器; 3路URAT(IrDA1.0,64 B Tx FIFO,64B Rx FIFO);2路SPI;I2C總線接口(多主支持);I2S音頻編解碼器接口;AC97編解碼器接口;1.0版SD主接口,兼容2.11版MMC接口;2路USB主機控制/1路USB期間控制(ver1.1);4路PWM定時
29、器/1路內(nèi)部定時器/看門狗定時器;8路10位ADC和觸摸屏接口;具有日歷功能的RTC;攝像頭接口(支持最大40964096的輸入,20482048縮放輸入);130個通用I/O,24個外部中斷源;電源控制(正常、慢速、空閑、睡眠模式);帶PLL的片上時鐘發(fā)生器等。其接口豐富,非常適合外圍擴展模塊較多且低成本的嵌入式系統(tǒng)開發(fā)。 2. 存儲器的擴展本系統(tǒng)的存儲模塊采用NAND Flash與SDRAM組合成程序、數(shù)據(jù)存儲器,可以獲得非常高的性價比。本系統(tǒng)中使用的Flash芯片是Intel公司的K9F1216U0A Flash,存儲空間由128KB的擦除塊組成。擦除塊是相互獨立的,每一塊的擦除操作可以
30、在1秒內(nèi)完成。每一塊可以獨立地被擦除100 000次以上。 目前常用的SDRAM為8位/16位數(shù)據(jù)寬度,可根據(jù)系統(tǒng)需求構(gòu)建16位或32位的SDRAM存儲器系統(tǒng)。TQS3C2440使用了兩片外接的32 MB總共64MB的SDRAM 芯片(型號為HY57V561620FTP),一般稱之為內(nèi)存,它們并接在一起形成32位的總線數(shù)據(jù)寬度,這樣可以增加訪問的速度。因為是并接,故它們都使用了nGCS6作為片選端,物理起始地址為0 x30000000。 3. 各種外圍接口系統(tǒng)為了能更方便用戶的使用,擴展了許多接口,如圖8.21所示。USB和SD卡接口,用于接收U盤、SD卡等移動存儲設(shè)備的有關(guān)加工信息數(shù)據(jù)文件,
31、通過這兩個接口可以把加工文件輸入數(shù)控系統(tǒng)中,同時也可把文件拷貝到U盤或SD卡中。系統(tǒng)采用的人機交換界面是觸摸屏。系統(tǒng)需要顯示的基本信息包括X軸和Y軸坐標(biāo)值(含X軸和Y軸運行方向指示)、參數(shù)值(磨削粗、精、光,速度進給、粗磨、精磨,修整,補償量、補償間隔,進給量、工件統(tǒng)計)、磨削余量(光柱)、工作狀態(tài)指示(快進、粗磨、精磨、光磨、快退、等待、修整)和控制方式指示(自動、半自動、調(diào)校)等。同時為了操作和控制的方便,還可顯示其他有關(guān)的操作信息和控制界面,也可通過USB接備用鼠標(biāo)和鍵盤。 JTAG接口用來進行系統(tǒng)的調(diào)試與仿真,同時還可以用來進行文件的燒寫。以太網(wǎng)接口,系統(tǒng)用的是DM9000以太網(wǎng)芯片,
32、有100M,用來與外界聯(lián)系,也可以通過以太網(wǎng)進行文件的傳輸和遠程監(jiān)控。網(wǎng)絡(luò)攝像頭配合以太網(wǎng)進行遠程監(jiān)控。 4. 差分模塊驅(qū)動器所需指令脈沖和指令信號是一對相位相差180的信號,故在這里設(shè)置了差分電路,并使用四線高速差分驅(qū)動電路DS26LS31進行處理。微處理器輸出的單路信號經(jīng)過DS26LS31處理,可以得到一對相位相差180的信號以及所需要的指令脈沖和指令信號。5. 電機傳動模塊1) 伺服電機在本系統(tǒng)設(shè)計過程中,考慮到電機帶動主軸高速旋轉(zhuǎn)進行金屬切削,屬于大負載、高速度的應(yīng)用,用伺服電機比較好,故在主軸上采用交流伺服電機驅(qū)動。考慮到由主機直接實現(xiàn)電機控制算法會占用處理器資源、影響多任務(wù)操作的快
33、速性,且不敢保證自己設(shè)計的外圍電路的驅(qū)動能力能滿足要求,故采用電機驅(qū)動器或變頻器驅(qū)動電機。在本系統(tǒng)的設(shè)計中,選用交流伺服驅(qū)動器,通過S3C2440的PWM輸出通道產(chǎn)生連續(xù)的脈沖,并且為實現(xiàn)交流伺服電機比較的位置控制和實時響應(yīng),采用軟件定時中斷的方式實現(xiàn)電機控制脈沖的發(fā)生。PWM的控制流程圖如圖8.22所示。 圖8.22 PWM的控制流程圖 編碼器反饋電纜直接接到伺服電機驅(qū)動器而非數(shù)控系統(tǒng),傳感器將交流伺服電機轉(zhuǎn)子的位置、速度、轉(zhuǎn)矩信息編碼傳回給驅(qū)動器,驅(qū)動器再根據(jù)此信號調(diào)節(jié)電機轉(zhuǎn)速。故無需考慮電機控制算法,只需向驅(qū)動器發(fā)送指令,即可對電機進行控制。 2) 步進電機系統(tǒng)使用的是混合式步進電機(H
34、ybrid,簡稱HB)?;旌鲜讲竭M電機綜合了反應(yīng)式電機和永磁式機兩者的優(yōu)點。混合式機與傳統(tǒng)的反應(yīng)式機相比,結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁鐵材料工作點的耗能,因此該電機效率高,電流小,發(fā)熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉(zhuǎn)工程中比較平穩(wěn),噪聲低,低頻振動小。步進電機驅(qū)動器至少要連接一兩根信號線(脈沖和方向信號)。在三維空間的三個坐標(biāo)軸上,每個坐標(biāo)軸承上都需要接一組電機和驅(qū)動器,則至少需要6根信號線(為將來能擴展為5軸,需要10根信號線),S3C2440A芯片提供了130個通用I/O口,所以我們在這使用
35、I/O口進行連接。 為了保護器件不受外來意外高壓/電流的損害,減少外界干擾,需要在芯片和外界電路之間加裝光耦芯片。另外,在本系統(tǒng)中,為了將刀具位置反饋給用戶查看,每個步進電機上需再安裝一個編碼器。編碼器與上位機連接的方式是通過RS-232/442/485等標(biāo)準(zhǔn)通信數(shù)據(jù)線連接,檢測數(shù)據(jù)由編碼器處理并打包成標(biāo)準(zhǔn)協(xié)議格式發(fā)給上位機,而不需要進行其他算法的控制,提高了系統(tǒng)的實時性,精簡了外圍電路,降低了成本。 6光電隔離模塊為了防止控制信號受到干擾,在以前的步進電機驅(qū)動器電路設(shè)計時,通常采用脈沖變壓器作為電壓隔離接口部件,但是它在耐壓值、可靠性及體積方面都無法與光電耦合器相比,所以本系統(tǒng)采用了光電耦合
36、器作為隔離接口器件。光電耦合器是實現(xiàn)電隔離的核心器件,在本系統(tǒng)采用的是TLP521-4光電耦合器。利用TLP521-4的體積小、壽命長、抗干擾性強以及無觸點輸出(在電氣上完全隔離)等優(yōu)點來隔離電路、數(shù)模電路、邏輯電路、過流保護等。TLP521-4是4路光電耦合器,8個TLP521-4則組成32路光電耦合,其能把編碼器傳遞回的信號與電路板連接起來。8.3.4 系統(tǒng)軟件設(shè)計1. 操作系統(tǒng)平臺的搭建由于數(shù)控磨床系統(tǒng)需要同時運行多個設(shè)備,所以必須選用多線程操作系統(tǒng),并且要求實時性非常高、運行穩(wěn)定、成本要低等。Linux以其開放源代碼和免費使用的特性以及架構(gòu)清晰、平臺支持廣泛、網(wǎng)絡(luò)支持強勁、內(nèi)核小、穩(wěn)定
37、性強、效率高、可裁剪,軟件豐富等優(yōu)點及支持多線程、運行速度快、便于移植的特點而受到廣大用戶的青睞。因此本系統(tǒng)選用Linux作為操作系統(tǒng)。Linux操作系統(tǒng)的移植主要分為三部分:U-Boot的修改移植(Boot Loader)、Linux內(nèi)核的配置與移植、文件系統(tǒng)的制作與移植。本系統(tǒng)使用的是Linux 2.6.30內(nèi)核和yaffs格式文件系統(tǒng)。 圖8.23 系統(tǒng)軟件結(jié)構(gòu)圖 2. 伺服電機與步進電機驅(qū)動程序1) 伺服電機驅(qū)動驅(qū)動伺服電機實際上是使用PWM波形發(fā)生器向伺服驅(qū)動器發(fā)送PWM脈沖,這是通過定時器的中斷來控制一個GPIO引腳置高或置低的持續(xù)時間實現(xiàn)的。S3C2440自帶了5個定時器,其中t
38、imer3已被DMA占用。通過改變相應(yīng)特殊寄存器的值對計時器進行配置。該驅(qū)動程序中編寫了四個方法:open、close、write、ioctl。其中write方法從應(yīng)用程序讀入一個周期的高低電平的脈寬,根據(jù)這些脈寬調(diào)節(jié)高低電平的持續(xù)時間;ioctl方法則是使輸出PWM波形的GPIO引腳保持低電平。 2) 步進電機驅(qū)動三組步進電機的驅(qū)動信號是通過用戶擴展數(shù)據(jù)總線發(fā)出的,每個步進電機占用兩位,分別表示方向和進給動作,6位總線數(shù)據(jù)同時發(fā)送,使得三個步進電機可以同時動作,實現(xiàn)三軸聯(lián)動。該驅(qū)動程序中除了open、close方法外,還編寫了write、read、ioctl方法。其中write方法完成連續(xù)控
39、制電機轉(zhuǎn)動功能,它將一系列連續(xù)的16位脈沖組合信號寫入虛擬地址中,使用一個計時器控制脈沖發(fā)送頻率;read方法完成從編碼器讀入位置信號的功能;ioctl方法不是連續(xù)發(fā)送脈沖信號,它讀取從應(yīng)用程序檢測到的鍵盤按鍵值,每收到一個鍵值,該方法就根據(jù)這個鍵值發(fā)送一個脈沖到相應(yīng)的電機,完成相應(yīng)的動作。 3) 插補程序及算法對于控制零件的輪廓來說,最重要的便是插補功能。由于插補運算是在機床運動過程中實時進行的,因此在有限的時間內(nèi),必須對各坐標(biāo)軸實時地分配相應(yīng)的位置控制信息和速度控制信息。軟插補器時延較大,現(xiàn)在一般采用軟、硬結(jié)合的方式?,F(xiàn)在的數(shù)控系統(tǒng)普遍提出了高速高精度的加工要求,而對于高速高精度的運動控制
40、,必須縮短采樣周期,提高插補精度。同樣,由于受機床的加速度及加速度變化率的限制,要保證機床運行的平穩(wěn)性及動態(tài)的精度,足夠數(shù)量程序段的前瞻處理優(yōu)化也是必不可少的。同時,在密集數(shù)據(jù)處理中不能有數(shù)據(jù)傳輸瓶頸,預(yù)處理時間要短,從而保證機床連續(xù)高速運行。有了這些基礎(chǔ),通過伺服前饋控制才能減小跟蹤誤差,在保證高精度的前提下實現(xiàn)高速加工。 系統(tǒng)采用的是逐點比較圓弧插補法,在編寫加工程序時,一般只考慮刀具中心沿零件輪廓切削,而忽略刀具半徑對加工的影響,在實際加工時需要在刀具中心與刀具切削點之間進行位置偏置,補償上述影響,這種變換過程即為刀具補償。系統(tǒng)采用的是帶有過渡連接的C刀具補償算法,該算法比較復(fù)雜,與許多因素有關(guān),為此定義了一個刀補函數(shù)參數(shù),該函數(shù)具有更改插補始末位置、增加過渡曲線實現(xiàn)刀補功能。 4) 仿真程序的編寫仿真是通過對已編譯的加工文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托印刷合同范本3篇
- 城市道路綠化建設(shè)養(yǎng)護招標(biāo)3篇
- 建筑外墻保溫勞務(wù)合作合同2篇
- 工程索賠中的合同解釋與適用
- 工傷處理委托
- 戶口辦理特別授權(quán)委托書3篇
- 勞動合同解除企業(yè)合規(guī)操作指南3篇
- 方便烤肉生產(chǎn)考核試卷
- 煙草制品零售庫存風(fēng)險控制考核試卷
- 科技會展城市形象宣傳與推廣考核試卷
- 2025年高考歷史總復(fù)習(xí)高中歷史必修二八大專題知識復(fù)習(xí)提綱
- 2025事業(yè)單位考試題庫及答案200題
- 臨床執(zhí)業(yè)醫(yī)師考試健康教育技能試題及答案
- 機車車輛試題及答案
- 地理澳大利亞課件-2024-2025學(xué)年人教版(2024)初中地理七年級下冊
- 常用施工規(guī)定和技術(shù)要求1
- 新版《醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范》(2024)培訓(xùn)試題及答案
- 大數(shù)據(jù)與人工智能營銷(南昌大學(xué))知到智慧樹章節(jié)答案
- 健合集團筆試在線測評題
- 2024屆江蘇省蘇錫常鎮(zhèn)四市高三二模地理試題含答案解析
- 99S203 消防水泵接合器安裝圖集
評論
0/150
提交評論