版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于web的嵌入式遠程監(jiān)控系統(tǒng)學(xué)生:劉 仁指導(dǎo)老師:蔡 碩摘要:隨針對當前國內(nèi)國外嵌入式服務(wù)器技術(shù)研究和發(fā)展情況的分析,本報告提出了將 WEB 服務(wù)器、嵌入式系統(tǒng)以及當前的一些嵌入式實驗板板載功能進行融合的設(shè)計思想。設(shè)計了結(jié)合 WEB 服務(wù)器技術(shù)的嵌入式監(jiān)控系統(tǒng)。該系統(tǒng)具有瀏覽交互式網(wǎng)頁,對嵌入式平臺進行監(jiān)視和控制等功能。通過本套嵌入式WEB 服務(wù)器系統(tǒng),用戶可以通過 HTTP 協(xié)議方便的訪問相應(yīng)的嵌入式平臺進行有效監(jiān)視的同時還可以進行實時的有效控制。該系統(tǒng)對硬件要求極低、響應(yīng)速度快、安全性好、可擴展性強等優(yōu)點,具有較高的實際應(yīng)用價值。該系統(tǒng)在智能家居、嵌入式組網(wǎng)等方面的應(yīng)用將有較廣闊的發(fā)展前
2、途。關(guān)鍵詞:ARM 嵌入式系統(tǒng);嵌入式 web 監(jiān)控;boa 服務(wù)器;CGI 編程;Linux 操作系統(tǒng)關(guān)鍵詞:自動化、奏樂器、VHDL、數(shù)字電路Abstract:According to the analysis of the researches about the status of thembeddedserver of the world.We rise a design of a embedded internet control system basedon the Web service which integrates the web server,embedded tech
3、nology and thefunctions on the embedded experiment Board.This system has the function of browsing the web pages,monitoring theembedded Board and so on.With this embedded WEB server,the users can watchthe embedded system conveniently according the HTTP protocol.At the sametime the users can also moni
4、tor theystem.This system have a lot of longtageslike a low request of the hardware,limited time of response and a stable status.Wewill see that this kind of system used in the application of intelligent familyelectronics,embedded neting and so on would have a good development.Keywords: ARM Embedded
5、System;Embedded Web Server System;BoaServer;CGI Programing;Linux Operating System1 引 言嵌入式系統(tǒng)課程設(shè)計是本專業(yè)在學(xué)習完 C 語言、LINUX 操作系統(tǒng)、嵌入式系統(tǒng)原理與接口設(shè)計、嵌入式操作系統(tǒng)原理之后的專業(yè)課程設(shè)計,屬于專業(yè)課內(nèi)容。通過課程設(shè)計建立嵌入式系統(tǒng)主體環(huán)節(jié),嵌入式系統(tǒng)的最小結(jié)構(gòu)和系統(tǒng)應(yīng)用設(shè)計基本技能,培養(yǎng)分析和解決一些簡單的實際問題的能力,為今后畢業(yè)設(shè)計奠定基礎(chǔ)。隨著嵌入式技術(shù)的發(fā)展和高速寬帶網(wǎng)絡(luò)的普及, 利用網(wǎng)絡(luò)實現(xiàn)遠程監(jiān)控已為人們廣泛接受, 嵌入式網(wǎng)絡(luò)監(jiān)控技術(shù)正是在此條件下逐步發(fā)展成熟起來的。
6、 用戶使用 Web 瀏覽器, 通過以太網(wǎng)遠程訪問內(nèi)置 Web 服務(wù)器的監(jiān)控攝像機, 不但可以實現(xiàn)對現(xiàn)場的遠程視頻監(jiān)控, 而且可以向監(jiān)控現(xiàn)場發(fā)送指令。 在整個系統(tǒng)的實現(xiàn)過程中, 嵌入式 Web 服務(wù)器起著十分重要的作用。本課題就是基于該項技術(shù),最終編程實現(xiàn)通過網(wǎng)絡(luò)控制下位機嵌入式控制器的電機啟動和停止。1.1研究目的和意義1、通過嵌入式課程設(shè)計,熟練掌握 C 語言的編程方法?;?WEB 的遠程監(jiān)控的實現(xiàn),CGI 的編寫和使用,將理論聯(lián)系到實踐中去,提高我們的動腦和動手的能力。2、通過基于 WEB 的嵌入式遠程監(jiān)控系統(tǒng)的設(shè)計,掌握 S3C2410 實驗箱,直流電機的工作原理,BOA 服務(wù)器的使用
7、,CGI 的使用和簡單程序的編寫及調(diào)試方法,最終提高我們的動手實踐能力。3、本課題的研究目的是用 BOA 服務(wù)器、CGI、IE 瀏覽器設(shè)計一個通過 IE 瀏覽器監(jiān)控電機的系統(tǒng),能夠通過兩個簡單的按鍵對電機進行啟動和停止的控制,并能夠在 IE 瀏覽器上看到電機的當前狀態(tài)。4、由于基于 WEB 的嵌入式遠程監(jiān)控系統(tǒng)將成為今后遠程監(jiān)控技術(shù)發(fā)展的主流方向,所以需要設(shè)計出簡單實用,讓人們更滿意的產(chǎn)品。1.2 本設(shè)計任務(wù)和主要內(nèi)容1基本要求本課題主要設(shè)計和研究基于WEB的嵌入式遠程監(jiān)控系統(tǒng),要求在保證可靠運行的前提下,電路設(shè)計盡量簡潔緊湊,以減小成本、提高系統(tǒng)的效率和安全性。2應(yīng)解決的問題1)設(shè)計系統(tǒng)網(wǎng)絡(luò)
8、方案2)分析網(wǎng)絡(luò)程序結(jié)構(gòu)和應(yīng)用程序的使用方法3)編程實現(xiàn)嵌入式系統(tǒng)服務(wù)器功能4)編程實現(xiàn)嵌入式系統(tǒng)聯(lián)網(wǎng)功能5)編程實現(xiàn)通過網(wǎng)絡(luò)控制下位機嵌入式控制器的電機啟動和停止3擴展功能演奏時可以通過按鍵選擇是手動演奏還是自動演奏,手動演奏是通過按鍵進行簡易樂曲的演奏。2 總體方案設(shè)計2.1 整體方案設(shè)計系統(tǒng)總體設(shè)計是基于嵌入式系統(tǒng)和 WEB 服務(wù)器結(jié)合的思想開發(fā)的,其網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖 2.1 所示圖 2.1 系統(tǒng)網(wǎng)絡(luò)拓撲圖針對本次課程設(shè)計提出的系統(tǒng)設(shè)計如圖 2.2 所示圖 2.2 系統(tǒng)方案框圖2.2 硬件系統(tǒng)設(shè)計核心處理器的選擇核心處理芯片需要完成處理和支持整個系統(tǒng)的功能需求,通過運行 BOA 服務(wù)器要
9、實施的接收來自各個客戶端的請求和信息,并根據(jù)獲得的請求和信息進行相應(yīng)的后臺處理以及信息的反饋。為完成上述功能,實現(xiàn)服務(wù)器正常運行,對處理芯片進行選型,對比現(xiàn)有處理芯片的優(yōu)缺點,選擇 ARM9 S3C2410X 芯片作為設(shè)計開發(fā)嵌入式服務(wù)器系統(tǒng)的核心處理芯片。S3C2410X 微處理器是一款由 Samsung 公司為手持設(shè)備設(shè)計的低功耗、高集成度的基于ARM920T 核的微處理器,為了降低系統(tǒng)總成本和減少外圍器件,這款芯片還集成了以下部件:16KB 指令 Cache、16KB 數(shù)據(jù) Cache、MMU、外部存儲器控制器、LCD 控制器、NAND FLASH 控制器、4 個 DMA 通道、3 個
10、UART 通道、1 個 IIC 總線控制器、1 個 IIS總線控制器、4 個 PWM 定時器、1 個內(nèi)部定時器、通用 IO 口、實時時鐘、8 通道 10 位ADC 和觸摸屏接口、USB 主、USB 從、SD/MMC 卡接口等。2.3 軟件環(huán)境選擇2.3.1 操作系統(tǒng)的選擇當選定了硬件系統(tǒng)后,為了配合硬件達到系統(tǒng)的最優(yōu)控制要求,對市面上常用的嵌入式系統(tǒng)進行分析比較。(1) 價格比較:Linux 是完全免費的操作系統(tǒng),只需遵循 GPL 聲明,不需支付任何費用;WinCE 是微軟的商用嵌入式操作系統(tǒng),使用它需要支付 WinCE 及其開發(fā)環(huán)境的費用,開發(fā)出來的每套產(chǎn)品也需交納一定費用。uc/osII
11、系統(tǒng),可以免費用于學(xué)習或科研,但開發(fā)商使用產(chǎn)品或銷售都是收費的。(2) 開放性比較:Linux 是源代碼完全開放的操作系統(tǒng),可以自由下載,并且在遵循GPL 聲明的前提下可以自由地修改、移植,為系統(tǒng)的開發(fā)和調(diào)試帶來極大的便利;winCE是部分源碼開放的商用操作系統(tǒng),如果要修改其中的代碼,需獲得微軟公司的授權(quán);uc/osII 也是開放的實時操作系統(tǒng)。(3) 文件系統(tǒng)的比較:Linux 支持絕大部分文件系統(tǒng),只需選擇相應(yīng)的文件系統(tǒng)即可;WinCE 僅支持 Windows 系列的 FAT16、有限文件系統(tǒng);uc/osII 本身沒有包括文件系統(tǒng),需購買或移植。Linux 與 ARM 處理器從以上可以看出
12、,Linux 系統(tǒng)在諸多方面都存在優(yōu)勢,而且本身的 ARM 處理器與 Linux 也有著緊密的聯(lián)系。因此采用 Linux 操作系統(tǒng)。2.3.2 服務(wù)器的選擇典型的嵌入式 Web 服務(wù)器有 Boa 和 thttpd 兩種,它們和 Apache 等高性能的 Web 服務(wù)器主要的區(qū)別在于它們一般是單進程服務(wù)器,只有在完成一個用戶請求后才能響應(yīng)另一個用戶的請求,而無法并發(fā)響應(yīng),但這在嵌入式設(shè)備的應(yīng)用場合里已經(jīng)足夠了。Boa 是一個非常小巧的 Web 服務(wù)器,可執(zhí)行代碼只有約 60KB。它是一個單任務(wù) Web服務(wù)器,只能依次完成用戶的請求,而不會 fork 出新的進程來處理并發(fā)連接請求。但 Boa支持
13、CGI,能夠為 CGI 程序 fork 出一個進程來執(zhí)行。Boa 的設(shè)計目標是速度和安全,在其站點公布的性能測驗中,Boa 的性能要好于 Apache 服務(wù)器。經(jīng)過上述的對比和判斷,選擇Boa 作為系統(tǒng)的嵌 入式服務(wù)器。綜合以上的討論以及選擇,根據(jù)系統(tǒng)的實際需求,最終確定了采用 S3C2410X 為核心處理器,Linux 為嵌入式操作系統(tǒng),boa 為服務(wù)器以及相應(yīng)的 http 瀏覽器的系統(tǒng)設(shè)計方案。3 硬件設(shè)計3.1 系統(tǒng)硬件平臺介紹我們所介紹的硬件平臺是基于 ARM 體系結(jié)構(gòu),由北京博創(chuàng)興業(yè)科技有限公司開發(fā)的UP-NetARM2410-S 實驗儀器。 UP-NetARM2410-S 的 CP
14、U 為 ARM920T 內(nèi)核的三星S3c2410 芯片,由于有 MMU(內(nèi)存管理單元)可以運行標準的 ARM-LINUX 內(nèi)核。通過這個平臺,我們可以實現(xiàn)嵌入式 LINUX 中的針對無 MMU 的開發(fā)過程。3.2 s3c2410 芯片介紹圖 3.1 芯片結(jié)構(gòu)圖3.3 ARM 處理器的外圍設(shè)備3.3.1 電源電路設(shè)備提供 12v 的電源,經(jīng) LM1085-3.3V 和 AS1117-1.8V 分別得到 3.3V 和 1.8V 的工作電壓。開發(fā)板上的芯片多數(shù)使用了 3.3V 電壓,而 1.8V 是供給 S3C2410 內(nèi)核使用的。5V 電壓供給 LCD、電機、總線等電路使用。圖 3.2 電源電路3
15、.3.2 硬件復(fù)位電路硬件復(fù)位電路由IMP811T構(gòu)成,實現(xiàn)對電源電壓的監(jiān)控和手動復(fù)位操作。2410-S主板復(fù)位電路設(shè)置專用邏輯:IMP811T 的復(fù)位電平可以使CPU JTAG(nTRST和板級系統(tǒng)(nRESET)全部復(fù)位;來自仿真器的ICE_nSRST 信號只能使板級復(fù)位;來自仿真器的ICE_nTRST 可以使JTAG(nTRST)復(fù)位,通過跳線選擇是否使板級nRESET復(fù)位。nRESET反相后得到RESET 信號。硬件復(fù)位電路如圖3.3所示圖3.3 硬件復(fù)位4 軟件設(shè)計4.1 設(shè)計思想基于 web 的嵌入式監(jiān)控系統(tǒng)設(shè)計主要的功能有簡單的網(wǎng)頁瀏覽,實現(xiàn)簡單應(yīng)用功能(客戶端與服務(wù)器的交互)以
16、及服務(wù)器端的控制功能。因此軟件的設(shè)計分為三個部分:boa 服務(wù)器的搭建、應(yīng)用程序設(shè)計和驅(qū)動程序的加載。4.2 BOA 服務(wù)器的簡介與搭建4.2.1 嵌入式 Web 服務(wù)器 Boa 的特點Boa 是一款單任務(wù)的 HTTP 服務(wù)器, 與其他傳統(tǒng)的 Web 服務(wù)器不同的是當有連接請求到來時, 它并不為每個連接單獨創(chuàng)建進程, 也不通過復(fù)制自身進程來處理多鏈接, 而是通過建立 HTTP 請求列表來處理多路 HTTP 連接請求, 同時它只為 CGI 程序創(chuàng)建新的進程,這樣就在最大程度上節(jié)省了系統(tǒng)資源, 這對嵌入式系統(tǒng)來說至關(guān)重要。同時它還具有自動生成目錄、自動解壓文件等功能, 因此 Boa 具有很高的 H
17、TTP 請求處理速度和效率, 在嵌入式系統(tǒng)中具有很高的應(yīng)用價值。4.2.2 Boa 的功能實現(xiàn)嵌入式 Web 服務(wù)器 Boa 和普通 Web 服務(wù)器一樣, 能夠完成接收客戶端請求、分析請求、響應(yīng)請求、向客 戶端返回請求結(jié)果等任務(wù)。 它的工作過程主要包括:( a) 完成 Web 服務(wù)器的初始化工作, 如創(chuàng)建環(huán)境變量、創(chuàng)建 TCP 套接字、綁定端口、開始偵聽、進入循環(huán)結(jié)構(gòu), 以及等待接收客戶瀏覽器的連接請求;( b) 當有客戶端連接請求時,Web 服務(wù)器負責接收客戶端請求, 并保存相關(guān)請求信息;( c) 在接收到客戶端的連接請求之后,分析客戶端請求, 解析出請求的方法、URL 目標、可選的查詢信息
18、及表單信息, 同時根據(jù)請求做出相應(yīng)的處理;( d)Web 服務(wù)器完成相應(yīng)處理后, 向客戶端瀏覽器發(fā)送響應(yīng)信息, 關(guān)閉與客戶機的TCP 連接。嵌入式 Web 服務(wù)器 Boa 根據(jù)請求方法的不同,做出不同的響應(yīng)。如果請求方法為HEAD, 則直接向瀏覽器返回響應(yīng)首部;如果請求方法為 GET, 則在返回響應(yīng)首部的同時, 將客戶端請求的 URL 目標文件從服務(wù)器上讀出, 并且發(fā)送給客戶端瀏覽器;如果請求方法為 POST, 則將客戶發(fā)送過來的表單信息傳送給相應(yīng)的 CGI 程序, 作為 CGI 的參數(shù)來執(zhí)行 CGI 程序, 并將執(zhí)行結(jié)果發(fā)送給客戶端瀏覽器。 Boa 的功能實現(xiàn)也是通過建立連接、綁定端口、進行
19、偵聽、請求處理等來實現(xiàn)的。4.2.3 BOA 的搭建與移植(1)準備源代碼、解壓軟件包,安裝源代碼到 boa 網(wǎng)站 下載 源代碼,或者使用光盤的 軟件包。(2)進入 src 目錄,編譯源代碼。解壓后 src 目錄下有 Makefile.in 文件,但沒有 Makefile 文件,為了編譯源代碼,需要先生成 Makefile 文件,在 src 目錄下運行 configure 命令$ ./configure生成的 Makefile 文件是針對 X86 平臺的,為了生成能夠在 ARM 上運行的 boa,需要修改 Makefile 文件。將 Makefile 的 3132 行內(nèi)容:CC = gccCP
20、P = gcc E應(yīng)用(在交叉編譯時使用):然后輸入 make 命令進行編譯,在 src 目錄下就會生成 boa 文件。$ make然后將該文件添加到文件系統(tǒng)中,重新下載文件系統(tǒng)。如果不幸出現(xiàn)icky Linux kernelbug!的錯誤,請將 src 下 boa.c 的第 226 行注釋掉,重新編譯下載即可。(3)安裝 boa 服務(wù)器主要是配置 boa 服務(wù)器。boa 啟動時需要一個配置文件 boa.conf,該文件的缺省目錄由src/defines.h 文件的 SERVER_ROOT 定義,或者在啟動 boa 的時候通過參數(shù)-c指定。其中指定的默認目錄是:/etc/boa/(4)登錄 b
21、oa 服務(wù)器在 PC 機瀏覽器地址欄輸入目標系統(tǒng)的 IP 地址(),訪問存在于目標系統(tǒng)中的網(wǎng)頁。4.3 應(yīng)用程序設(shè)計4.3.1 程序設(shè)計依賴關(guān)系通過對系統(tǒng)的分析以及對服務(wù)器的了解,系統(tǒng)確定了以下的軟件開發(fā)系統(tǒng)方案,如圖4.1 所示圖 4.1 軟件依賴關(guān)系4.3.2 應(yīng)用程序流程圖乘法功能圖 4.2 乘法功能實現(xiàn)流程圖程序段電機程序的流程圖圖 4.3 電機部分流程圖4.4 驅(qū)動程序設(shè)計驅(qū)動部分主要有兩部分組成:電機驅(qū)動和網(wǎng)卡驅(qū)動,其中以電機驅(qū)動為主。由于在本套系統(tǒng)設(shè)計中,不可能每次開機都要由操作人員將驅(qū)動加入內(nèi)核,這樣既不方便又費時費力,所以系統(tǒng)采用將驅(qū)動編譯進內(nèi)核的模式。4.4.1 電機驅(qū)動電
22、機驅(qū)動程序流程1、開啟設(shè)備時,配置 IO 口為定時器工作方式2、配置定時器的各控制寄存器3、在 s3c2410_dcm_ioctl 中提供調(diào)速功能接口4、應(yīng)用程序 dcm_main.c 中調(diào)用5、實現(xiàn)直流電機速度的調(diào)整4.4.2 驅(qū)動加載過程以電機驅(qū)動為例:編譯直流電機cd /arm2410s/kernel-2410smake menuconfig進入 Main Menu / Character devices 菜單,選擇 DC MOTOR模塊加載:編譯內(nèi)核模塊:make depmakemake modules直流電機模塊的編譯結(jié)果為:/arm2410s/kernel-2410s/driver
23、s/char/s3c2410-dc-motor.o2、加載模塊在超級終端中,通過加載 NFS 運行編譯結(jié)果:mount t nfs 21:/arm2410s /hostInsmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o5 系統(tǒng)整體調(diào)試與分析系統(tǒng)的調(diào)試分了 x86 和 arm 架構(gòu)下的調(diào)試,其中以進階方式進行開發(fā)測試,根據(jù)實現(xiàn)難度分為三步:第一步先實現(xiàn)簡單的網(wǎng)頁瀏覽,然后通過乘法操作的簡單設(shè)計來實現(xiàn)人機交互最后通過電機控制的設(shè)計完成整個服務(wù)器監(jiān)控系統(tǒng)的設(shè)計。5.1 linux 平臺下的調(diào)試5.1.1 簡單網(wǎng)頁瀏
24、覽的調(diào)試與分析結(jié)果:網(wǎng)頁正常顯示分析:遇到的問題主要集中在 BOA 服務(wù)器的搭建上,經(jīng)過仔細學(xué)習參考資料成功解決了問題。5.1.2 基于 web 的乘法操作的調(diào)試與分析結(jié)果:網(wǎng)頁可以正常顯示但在調(diào)試的開始階段遇到了程序不能正常運行的問題,但經(jīng)過同一起努力在兩天后解決了問題。分析:存在的問題主要是服務(wù)器調(diào)用結(jié)構(gòu)不理解導(dǎo)致的 cgi 程序無法正常調(diào)用,結(jié)果顯示為亂碼等問題,在正確理解了服務(wù)器、cgi-c 編程的原理后,使網(wǎng)頁能夠正確運作。5.1.3 電機控制的調(diào)試與分析由于牽涉到硬件設(shè)備的調(diào)試所以在 X86 環(huán)境下只進行了程序的編寫和編譯,而沒有實際的進行調(diào)試。5.2 嵌入式平臺下的調(diào)試5.2.1
25、 客戶端與服務(wù)器交互的調(diào)試與分析由于/etc 目錄只允許讀不允許寫,但我們搭建的 BOA 服務(wù)器的運行要求在/etc 目錄下有 mime.types(用來指明不同文件的擴展名對應(yīng)的 MIME 類型)并且還要在/etc/boa/下有相應(yīng)的配置文件 BOA.conf,則需要我們重新生成根文件系統(tǒng)等,將我們需要的文件填到相應(yīng)的位置,然后再重新生成鏡像文件并燒寫文件系統(tǒng)。將編寫好的 html 程序(名稱改為 index.html,因為這是輸入地址后默認的訪問文件) 放到目錄 var/www 下。需要的 c 語言程序用 arm-linux-gcc 編譯生成相應(yīng)的 cgi 程序,到目錄/var/www/c
26、gi-bin 下。啟動 boa 服務(wù)器,在根目錄下輸入 ifconfig 命令可以查找到服務(wù)器的 ip 地址,在客戶端的地址欄輸入該地址,就可以訪問到相應(yīng)的網(wǎng)頁,通過該網(wǎng)頁用戶可以監(jiān)控電機。5.2.2 電機控制的調(diào)試與分析Linux 下的直流電機程序包括模塊驅(qū)動程序和應(yīng)用程序兩部分。Module 驅(qū)動程序?qū)崿F(xiàn)了以下方法:static struct file_operations s3c2410_dcm_fops = owner:THIS_MODULE,open: s3c2410_dcm_open,ioctl: s3c2410_dcm_ioctl,release:s3c2410_dcm_rele
27、ase,;開啟設(shè)備時,配置 IO 口為定時器工作方式:(GPBCON &= 0xf; GPBCON |= 0xa;配置定時器的各控制寄存器:( TCFG0 &= (0x00ff0000);TCFG0 |= (DCM_TCFG0);TCFG1 &= (0xf);TCNTB0 = DCM_TCNTB0; /* less than 10ms */TCMPB0 = DCM_TCNTB0/2;TCON &=(0xf);TCON |= (0x2);TCON &=(0xf);TCON |= (0x19); )在 s3c2410_dcm_ioctl 中提供調(diào)速功能接口:case DCM_IOCTRL_SETP
28、WM:return dcm_setpwm(int)arg);應(yīng)用程序 dcm_main.c 中調(diào)用:ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor);實現(xiàn)直流電機速度的調(diào)整。a.編譯直流電機模塊cd /arm2410s/kernel-2410smake menuconfig進入 Main Menu / Character devices 菜單,選擇 DC MOTOR 為模塊加載:b.編譯內(nèi)核模塊:make depmakemake modules直流電機模塊的編譯結(jié)果為:/arm2410s/kernel-2410s/drivers/char/s
29、3c2410-dc-motor.oc. 編譯應(yīng)用程序cd /arm2410s/exp/basic/10_dcmotor/make生成 dcm_maind.掛載驅(qū)動模塊insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.oe.運行程序mount t nfs 192.168.0.xxx:/arm2410s /hostinsmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.ocd /host/exp/basic/10_dcmotor/./dcm_main程序運行結(jié)果:直流電機轉(zhuǎn)動 1
30、秒,停轉(zhuǎn) 1 秒。由于是根據(jù)原有變速程序稍做改動完成的程序,所以遇到的問題不是很多,經(jīng)過幾次嘗試就得到了期望的結(jié)果。5.3 調(diào)試結(jié)果分析5.3.1 調(diào)試結(jié)果1、靜態(tài)網(wǎng)頁圖 5.1 靜態(tài)網(wǎng)頁2、乘法網(wǎng)頁圖 5.2 乘法網(wǎng)頁3、電機控制網(wǎng)頁圖 5.3 電機控制網(wǎng)頁圖 5.4 返回結(jié)果5.3.2 結(jié)果分析經(jīng)過 x86 下的調(diào)試和基于 ARM 的下載與調(diào)試后,系統(tǒng)能夠?qū)崿F(xiàn)靜態(tài)網(wǎng)頁瀏覽,簡單人機交互以及電機控制的功能,系統(tǒng)工作穩(wěn)定,響應(yīng)速度快,組網(wǎng)方便快捷,如果與 DNS 服務(wù)器或者 WINS 服務(wù)器相結(jié)合即可實現(xiàn)用主機名就能登錄相應(yīng)平臺的功能。6 設(shè)計總結(jié)經(jīng)過三個周的學(xué)習與努力,經(jīng)過系統(tǒng)分析、方案論證
31、、 硬件和軟件設(shè)計、 調(diào)試 等階段完成了基于 web 的嵌入式遠程監(jiān)控系統(tǒng)的設(shè)計制作。在這三個周的課程設(shè)計中,我得到了老師和同學(xué)很大的幫助,有時候覺得進行不下去了,老師或同學(xué)一句話就能讓我茅塞頓開。即使聽不懂,他們也會耐心的講解。在系統(tǒng)的設(shè)計制作過程中,確實遇到了各種各樣的問題,如調(diào)試思路正確但是沒有能夠進行找到合適的方法進行進一步的實驗,設(shè)計中對于程序的編寫以及目錄結(jié)構(gòu)的認知上存在偏差,其主要原因還是基礎(chǔ)功不扎實,把握系統(tǒng)的能力不足,這為我們以后的學(xué)習和工作提了一個醒。在問題的解決過程中,也提高了組員的動手動腦能力,學(xué)到了許多在書本上學(xué)不到的知識。在具體的設(shè)計當中解決了諸如 boa 服務(wù)器的
32、搭建,C 程序的修改及 CGI編程的理解,程序的調(diào)試和系統(tǒng)的整體認識等問題,小組成員收獲很大。致謝在這次課程設(shè)計中,學(xué)校和學(xué)院給予了大力的支持,提供了與設(shè)計有關(guān)的環(huán)境,方便了課程設(shè)計的順利進行。在這其中我確實學(xué)到了很多知識,在此僅代表個人衷心的感謝學(xué)校和學(xué)院的大力支持。本論文是在指導(dǎo)老師蔡爍的悉心指導(dǎo)和嚴格要求下完成的。在整個課程設(shè)計過程中,蔡爍老師時時督促和引導(dǎo),并在設(shè)計過程中進行了方向指導(dǎo),在總體方向不出錯的基礎(chǔ)上,施展自己的所學(xué),發(fā)揮個人的所長。他不僅在學(xué)習上和生活上給予了我們多方面的指導(dǎo)和無微不至的關(guān)懷,而且他淵博的學(xué)識、嚴謹?shù)闹螌W(xué)態(tài)度、孜孜不倦的工作作風和寬以待人的處事風格使我終身受
33、益,并且還從中學(xué)會了分析問題和解決問題的方法此外,在本次設(shè)計過程中,還得到了其他老師和的熱情關(guān)心和幫助,值此論文完成之際,謹向老師表示崇高的敬意和最誠摯的謝意。參考文獻1鄭靈翔編著 嵌入式 LINUX 系統(tǒng)設(shè)計 北京航空航天大學(xué) 2008 年2孫紀坤、張小全編著 嵌入式 LINUX 系統(tǒng)開發(fā)技術(shù)詳解-基于 ARM人民郵電出版社 2007.9、3王進德 編著 嵌入式 LINUX 程序設(shè)計與應(yīng)用案例 中國電力出版社 2007.54鄭慕德 編著 嵌入式微型計算機系統(tǒng)實例教程-ARM 與 LINUX 科學(xué)出版社2006.75劉淼 編著 嵌入式系統(tǒng)接口設(shè)計與 LINUX 驅(qū)動程序開發(fā) 北京航空航天大學(xué)出
34、版社,2006.56魏洪興等編著 嵌入式系統(tǒng)設(shè)計與實例開發(fā) II-基于 ARM9 微處理器與 LINUX 操作系統(tǒng) 清華大學(xué)出版社 2005.127魏洪興等編著 嵌入式系統(tǒng)設(shè)計與實例開發(fā)實驗教材 II-基于 ARM9 微處理器與LINUX 操作系統(tǒng)清華大學(xué)出版社 2005.128金敏等編著 嵌入式組成、原理與設(shè)計編程 人民郵電出版社 2007.6附錄 1 主要程序清單乘法網(wǎng)頁的HTML表單:測試 測試請在下面填入乘數(shù)和被乘數(shù),按下確定后可以看到結(jié)果 乘法程序清單:#include #include int main(void)char *data;long m,n;printf(%s
35、%c%c,Content-Type:text/html;charset=gb2312nn,13,10);printf(乘法結(jié)果 );printf(乘法結(jié)果 );data = getenv(QUERY_STRING);if(data = NULL)printf(錯誤!數(shù)據(jù)沒有被輸入或者數(shù)據(jù)傳輸有問題);else if(sscanf(data,m=%ld&n=%ld,&m,&n)!=2)printf(錯誤!輸入數(shù)據(jù)非法。表單中輸入的必須是數(shù)字。);elseprintf(%ld和%ld的成績是:%ld。,m,n,m*n);return 0;電機網(wǎng)頁的HTML表單:監(jiān)控電機輸入start啟動電機,輸入
36、stop停止電機電機程序清單:#include #include #include #include #include #define DCM_IOCTRL_SETPWM#define DCM_TCNTB0#define ERROR printf(error)static int dcm_fd=-1;char *DCM_DEV=/dev/dcm/0raw;char* getcgidata(FILE* fp,char* requestmethod);int main()char *input;char *req_method;char name5;int i=0;int j=0;int k;in
37、t status=1;int setpwm=0;int factor=DCM_TCNTB0/1024;if(dcm_fd=open(DCM_DEV,O_WRONLY)0)printf(Error opening %s devicen,DCM_DEV);return 1;printf(Content-type:text/htmlnn);req_method=getenv(REQUEST_METHOD);input=getcgidata(stdin,req_method);k=strlen(input);printf(%d,k);for(i=9;istrlen(input);i+)namej+=i
38、nputi;namej=0;printf(%s ,name);if(j6)i=0;if(namei=s)if(namei+1=t)if(namei+2=a)if(namei+3=r)if(namei+4=t)setpwm=100;ioctl(dcm_fd,DCM_IOCTRL_SETPWM,(setpwm*factor);printf(MOTOR START);elseERROR;elseERROR;elseif(namei+2=o)if(namei+3=p)if(namei+4=0)setpwm=0;ioctl(dcm_fd,DCM_IOCTRL_SETPWM,(setpwm*factor)
39、;printf(MOTOR STOP);elseERROR;elseERROR;elseERROR;elseERROR;elseERROR;ElseERROR;return 0;char* getcgidata(FILE* fp,char* requestmethod) char* input;int len;int size=1024;int i=0;if(!strcmp(requestmethod,GET)input=getenv(QUERY_STRING);return input;else if(!strcmp(requestmethod,POST)len=atoi(getenv(CO
40、NTENT_LENGTH);input=(char*)malloc(sizeof(char)*(size+1);if(len=0)input0=0;return input;while(1)inputi=(char)fgetc(fp);if(i=size)inputi+1=0;return input;-len;if(feof(fp)|(!(len)i+;inputi=0;return input;i+;return NULL;大學(xué)本科生畢業(yè)設(shè)計(論文)撰寫規(guī)范本科生畢業(yè)設(shè)計(論文)是學(xué)生在畢業(yè)前提交的一份具有一定研究價值和實用價值的學(xué)術(shù)資料。它既是本科學(xué)生開始從事工程設(shè)計、科學(xué)實驗和科學(xué)研究
41、的初步嘗試,也是學(xué)生在教師的指導(dǎo)下,對所進行研究的適當表述,還是學(xué)生畢業(yè)及學(xué)位資格認定的重要依據(jù)。畢業(yè)論文撰寫是本科生培養(yǎng)過程中的基本訓(xùn)練環(huán)節(jié)之一,應(yīng)符合國家及各專業(yè)部門制定的有關(guān)標準,符合漢語語法規(guī)范。指導(dǎo)教師應(yīng)加強指導(dǎo),嚴格把關(guān)。1、論文結(jié)構(gòu)及要求論文包括題目、中文摘要、外文摘要、目錄、正文、參考文獻、致謝和附錄等幾部分。1.1 題目論文題目應(yīng)恰當、準確地反映論文的主要研究內(nèi)容。不應(yīng)超過25字,原則上不得使用標點符號,不設(shè)副標題。1.2 摘要與關(guān)鍵詞1.2.1 摘要本科生畢業(yè)設(shè)計(論文)的摘要均要求用中、英兩種文字給出,中文在前。摘要應(yīng)扼要敘述論文的研究目的、研究方法、研究內(nèi)容和主要結(jié)果或
42、結(jié)論,文字要精煉,具有一定的獨立性和完整性,摘要一般應(yīng)在300字左右。摘要中不宜使用公式、圖表,不標注引用文獻編號,避免將摘要寫成目錄式的內(nèi)容介紹。1.2.2 關(guān)鍵詞關(guān)鍵詞是供檢索用的主題詞條,應(yīng)采用能覆蓋論文主要內(nèi)容的通用技術(shù)詞條(參照相應(yīng)的技術(shù)術(shù)語標準),一般列35個,按詞條的外延層次從大到小排列,應(yīng)在摘要中出現(xiàn)。1.3 目錄目錄應(yīng)獨立成頁,包括論文中全部章、節(jié)的標題及頁碼。1.4 論文正文論文正文包括緒論、論文主體及結(jié)論等部分。1.4.1 緒論緒論一般作為論文的首篇。緒論應(yīng)說明選題的背景、目的和意義,國內(nèi)外文獻綜述以及論文所要研究的主要內(nèi)容。文管類論文的緒論是畢業(yè)論文的開頭部分,一般包括
43、說明論文寫作的目的與意義,對所研究問題的認識以及提出問題。緒論只是文章的開頭,不必寫章號。畢業(yè)設(shè)計(論文)緒論部分字數(shù)不多于全部論文字數(shù)的1/4。1.4.2 論文主體論文主體是論文的主要部分,要求結(jié)構(gòu)合理,層次清楚,重點突出,文字簡練、通順。論文主體的內(nèi)容要求參照大學(xué)本科生畢業(yè)設(shè)計(論文)的規(guī)定第五章。論文主體各章后應(yīng)有一節(jié)“本章小結(jié)”。1.4.3 結(jié)論結(jié)論作為單獨一章排列,但不加章號。結(jié)論是對整個論文主要成果的歸納,要突出設(shè)計(論文)的創(chuàng)新點,以簡練的文字對論文的主要工作進行評價,一般為4001000字。1.5參考文獻參考文獻是論文不可缺少的組成部分,它反映了論文的取材來源和廣博程度。論文中
44、要注重引用近期發(fā)表的與論文工作直接有關(guān)的學(xué)術(shù)期刊類文獻。對理工類論文,參考文獻數(shù)量一般應(yīng)在15篇以上,其中學(xué)術(shù)期刊類文獻不少于8篇,外文文獻不少于3篇;對文科類、管理類論文,參考文獻數(shù)量一般為1020篇,其中學(xué)術(shù)期刊類文獻不少于8篇,外文文獻不少于3篇。在論文正文中必須有參考文獻的編號,參考文獻的序號應(yīng)按在正文中出現(xiàn)的順序排列。產(chǎn)品說明書、各類標準、各種報紙上刊登的文章及未公開發(fā)表的研究報告(著名的內(nèi)部報告如PB、AD報告及著名大公司的企業(yè)技術(shù)報告等除外)不宜做為參考文獻引用。但對于工程設(shè)計類論文,各種標準、規(guī)范和手冊可作為參考文獻。引用網(wǎng)上參考文獻時,應(yīng)注明該文獻的準確網(wǎng)頁地址,網(wǎng)上參考文獻
45、不包含在上述規(guī)定的文獻數(shù)量之內(nèi)。1.6 致謝對導(dǎo)師和給予指導(dǎo)或協(xié)助完成論文工作的組織和個人表示感謝。內(nèi)容應(yīng)簡潔明了、實事求是,避免俗套。1.7附錄如開題報告、文獻綜述、外文譯文及外文文獻復(fù)印件、公式的推導(dǎo)、程序流程圖、圖紙、數(shù)據(jù)表格等有些不宜放在正文中,但有參考價值的內(nèi)容可編入論文的附錄中。2、論文書寫規(guī)定2.1 論文正文字數(shù)理工類 論文正文字數(shù)不少于20 000字。文管類 論文正文字數(shù)1200020000字。其中漢語言文學(xué)專業(yè)不少于7 000字。外語類 論文正文字數(shù)800010000個外文單詞。藝術(shù)類 論文正文字數(shù)3 0005 000字。2.2 論文書寫本科生畢業(yè)論文用B5紙計算機排版、編輯
46、與雙面打印輸出。論文版面設(shè)置為:畢業(yè)論文B5紙、縱向、為橫排、不分欄,上下頁邊距分別為2.5cm和2cm,左右頁邊距分別為2.4cm和2cm,對稱頁邊距、左側(cè)裝訂并裝訂線為0cm、奇偶頁不同、無網(wǎng)格。論文正文滿頁為29行,每行33個字,字號為小四號宋體,每頁版面字數(shù)為957個,行間距為固定值20磅。頁眉。頁眉應(yīng)居中置于頁面上部。單數(shù)頁眉的文字為“章及標題”;雙數(shù)頁眉的文字為“大學(xué)本科生畢業(yè)設(shè)計(論文)”。頁眉的文字用五號宋體,頁眉文字下面為2條橫線(兩條橫線的長度與版芯尺寸相同,線粗0.5磅)。頁眉、頁腳邊距分別為1.8cm和1.7cm。頁碼。頁碼用小五號字,居中標于頁面底部。摘要、目錄等文前
47、部分的頁碼用羅馬數(shù)字單獨編排,正文以后的頁碼用阿拉伯數(shù)字編排。2.3 摘要中文摘要一般為300字左右,外文摘要應(yīng)與中文摘要內(nèi)容相同,在語法、用詞和書寫上應(yīng)正確無誤,摘要頁勿需寫出論文題目。中、外文摘要應(yīng)各占一頁,編排裝訂時放置正文前,并且中文在前,外文在后。2.4 目錄目錄應(yīng)包括論文中全部章節(jié)的標題及頁碼,含中、外文摘要;正文章、節(jié)題目;參考文獻;致謝;附錄。正文章、節(jié)題目(理工類要求編寫到第3級標題,即.。文科、管理類可視論文需要進行,編寫到23級標題。)2.5 論文正文2.5.1 章節(jié)及各章標題論文正文分章、節(jié)撰寫,每章應(yīng)另起一頁。各章標題要突出重點、簡明扼要。字數(shù)一般在15字以內(nèi),不得使
48、用標點符號。標題中盡量不用英文縮寫詞,對必須采用者,應(yīng)使用本行業(yè)的通用縮寫詞。2.5.2 層次層次以少為宜,根據(jù)實際需要選擇。層次代號格式見表1和表2。表1 理工類論文層次代號及說明層次名稱示例說明章第1章章序及章名居中排,章序用阿拉伯數(shù)字節(jié)1.1 題序頂格書寫,與標題間空1字,下面闡述內(nèi)容另起一段條1.1.1 款 題序頂格書寫,與標題間空1字,下面闡述內(nèi)容在標題后空1字接排項(1)題序空2字書寫,以下內(nèi)容接排,有標題者,闡述內(nèi)容在標題后空1字版心左邊線 版心右邊線表2 文管類論文層次代號及說明章節(jié)條款項一、(一)1.(1)居中書寫空2字書寫空2字書寫空2字書寫空2字書寫版心左邊
49、線 版心右邊線各層次題序及標題不得置于頁面的最后一行(孤行)。2.6 參考文獻正文中引用文獻標示應(yīng)置于所引內(nèi)容最末句的右上角,用小五號字體。所引文獻編號用阿拉伯數(shù)字置于方括號“ ”中,如“二次銑削1”。當提及的參考文獻為文中直接說明時,其序號應(yīng)該與正文排齊,如“由文獻8,1014可知”。經(jīng)濟、管理類論文引用文獻,若引用的是原話,要加引號,一般寫在段中;若引的不是原文只是原意,文前只需用冒號或逗號,而不用引號。在參考文獻之外,若有注釋的話,建議采用夾注,即緊接文句,用圓括號標明。不得將引用文獻標示置于各級標題處。參考文獻書寫格式應(yīng)符合GB77141987文后參考文獻著錄規(guī)則。常用參考文獻編寫項目
50、和順序應(yīng)按文中引用先后次序規(guī)定如下:著作圖書文獻序號作者書名(版次)出版地:出版者,出版年:引用部分起止頁 第一版應(yīng)省略翻譯圖書文獻序號作者書名(版次)譯者出版地: 出版者,出版年:引用部分起止頁 第一版應(yīng)省略學(xué)術(shù)刊物文獻序號作者文章名學(xué)術(shù)刊物名年,卷(期):引用部分起止頁學(xué)術(shù)會議文獻序號作者文章名編者名會議名稱,會議地址,年份出版地,出版者,出版年:引用部分起止頁學(xué)位論文類參考文獻序號研究生名學(xué)位論文題目出版地學(xué)校(或研究單位)及學(xué)位論文級別答辯年份:引用部分起止頁西文文獻中第一個詞和每個實詞的第一個字母大寫,余者小寫;俄文文獻名第一個詞和專有名詞的第一個字母大寫,余者小寫;日文文獻中的漢字
51、須用日文漢字,不得用中文漢字、簡化漢字代替。文獻中的外文字母一律用正體。作者為多人時,一般只列出前3名作者,不同作者姓名間用逗號相隔。外文姓名按國際慣例,將作者名的縮寫置前,作者姓置后。學(xué)術(shù)會議若出版論文集者,可在會議名稱后加上“論文集”字樣。未出版論文集者省去“出版者”、“出版年”兩項。會議地址與出版地相同者省略“出版地”。會議年份與出版年相同者省略“出版年”。學(xué)術(shù)刊物文獻無卷號的可略去此項,直接寫“年,(期)”。參考文獻序號頂格書寫,不加括號與標點,其后空一格寫作者名。序號應(yīng)按文獻在論文中的被引用順序編排。換行時與作者名第一個字對齊。若同一文獻中有多處被引用,則要寫出相應(yīng)引用頁碼,各起止頁
52、碼間空一格,排列按引用順序,不按頁碼順序。參考文獻書寫格式示例見附錄1。2.7 名詞術(shù)語科技名詞術(shù)語及設(shè)備、元件的名稱,應(yīng)采用國家標準或部頒標準中規(guī)定的術(shù)語或名稱。標準中未規(guī)定的術(shù)語要采用行業(yè)通用術(shù)語或名稱。全文名詞術(shù)語必須統(tǒng)一。一些特殊名詞或新名詞應(yīng)在適當位置加以說明或注解。文管類專業(yè)技術(shù)術(shù)語應(yīng)為常見、常用的名詞。采用英語縮寫詞時,除本行業(yè)廣泛應(yīng)用的通用縮寫詞外,文中第一次出現(xiàn)的縮寫詞應(yīng)該用括號注明英文全文。2.8 計量單位物理量計量單位及符號一律采用中華人民共和國法定計量單位(GB310031021993,見附錄2),不得使用非法定計量單位及符號。計量單位符號,除用人名命名的單位第一個字母用大寫之外,一律用小寫字母。非物理單位(如件、臺、人、元、次等)可以采用漢字與單位符號混
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)自我檢測試卷A卷附答案
- 2024年度山西省高校教師資格證之高等教育法規(guī)通關(guān)提分題庫及完整答案
- 2024年合成膠粘劑項目投資申請報告代可行性研究報告
- 2024年私人損害賠償自愿協(xié)議
- 高校食品專業(yè)實驗室安全管理探究
- 新形勢下企業(yè)經(jīng)濟管理創(chuàng)新思路探究
- 2024年商業(yè)樓宇化糞池建造協(xié)議范例
- 2024年加工區(qū)租賃協(xié)議
- 2024年度工程地質(zhì)勘察協(xié)議范本
- 2024屆安徽省安大附中高三下學(xué)期第一次診斷測試數(shù)學(xué)試題
- S2-旋挖樁機安裝拆卸專項方案
- 普通高中物理課程標準解讀
- 成人失禁相關(guān)性皮炎的預(yù)防與護理-護理團標
- 西南師大版二年級下冊三位數(shù)加減混合運算200題及答案
- 國外保護非物質(zhì)文化遺產(chǎn)的現(xiàn)狀
- 瓜子二手車商業(yè)計劃書
- 蒙牛品牌分析報告
- 充電樁采購安裝投標方案(技術(shù)方案)
- 《桌面應(yīng)急演練》
- 《嬰幼兒視力發(fā)育》課件
- 小學(xué)語文數(shù)字化閱讀教學(xué)設(shè)計
評論
0/150
提交評論