


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、*大學(xué)信息學(xué)院課程設(shè)計(jì)課程設(shè)計(jì)題目:計(jì)劃學(xué)時(shí):2周所屬課程名稱:計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)開設(shè)時(shí)間:2009學(xué)年第一學(xué)期授課班級:*( 1) ( 3)班指導(dǎo)教師:組員姓名:學(xué) 號:評語成績:學(xué)院年*月*日ARM通訊程序設(shè)計(jì)摘要:設(shè)計(jì)ARM板到主機(jī)的網(wǎng)絡(luò)通信關(guān)鍵字:ARM主機(jī)計(jì)算機(jī)通訊程序 UART串口接口源碼1引言背景:期末課程設(shè)計(jì),要求設(shè)計(jì)實(shí)現(xiàn)ARM板到主機(jī)的網(wǎng)絡(luò)通信意義和目的:借此課程設(shè)計(jì),使得我們能夠更好掌握網(wǎng)絡(luò)通訊技術(shù)與網(wǎng)絡(luò)編程技巧。2總體設(shè)計(jì)2.1提供配置與器件ARM7板一塊,串口線一條,JATA線一條,電源線一條。PC端開發(fā)平臺(tái)為C#.Net平臺(tái)。2.2系統(tǒng)框架設(shè)計(jì)然后再通過RS232回傳
2、對計(jì)算機(jī), txt文本文檔中。大致是通過在 ARM板的RS232接口接收計(jì)算機(jī)傳過來的數(shù)據(jù), 并在計(jì)算機(jī)上顯示出來。另外,如果數(shù)據(jù)需要保存,可以保存到一個(gè)2.3實(shí)現(xiàn)原理原理:S3C2410A的UART提3個(gè)獨(dú)立的異步串行I/O 口,他們都可以運(yùn)行與中斷模 式或DMA模式。S3C2410的每個(gè)UART由波特率發(fā)生器、發(fā)送器、接收器以及控制單元組成。波 特率發(fā)生器可以由 CLK或UEXTCLI提供時(shí)鐘。發(fā)送器和接收器包含 16字節(jié)的FIFO和數(shù)據(jù)移位器。 數(shù)據(jù)被寫入FIFO,然后在發(fā)送之前拷貝到發(fā)送移位器中。接下來數(shù)據(jù)通過發(fā)送數(shù)據(jù)引腳(TxDn)被移出。同時(shí),接收到的數(shù)據(jù)從接收數(shù)據(jù)引腳(RxDn)
3、移入,然后從移位器拷貝到FIFO中。數(shù)據(jù)的發(fā)送:發(fā)送的數(shù)據(jù)幀是可編程的。它包括 1個(gè)起始位、58個(gè)數(shù)據(jù)為、1個(gè)可選的 奇偶校驗(yàn)位和12個(gè)停止位,具體設(shè)置由行控制寄存器(ULCON)指定。發(fā)送器還可以產(chǎn)生暫停條件,使得在幀發(fā)送期間迫使串口輸出0.暫停信號在當(dāng)前發(fā)送的字完成之后發(fā)出。暫停信號發(fā)出之后,繼續(xù)向Tx FIFO發(fā)送數(shù)據(jù)。數(shù)據(jù)的接收:與數(shù)據(jù)發(fā)送類似,接收的數(shù)據(jù)幀也是可編程的。它包括1個(gè)起始位、58個(gè)數(shù)據(jù)位、1個(gè)可選的奇偶校驗(yàn)位和12個(gè)停止位,具體設(shè)置由行控制寄存器(ULCON)指定。接收器可以檢測溢出錯(cuò)誤和幀錯(cuò)誤。2.4功能設(shè)計(jì)ARM板方面:主要通過Uart_Getch();Uart_Se
4、ndByte(ch);兩個(gè)函數(shù)負(fù)責(zé)接收數(shù)據(jù)并回傳數(shù)據(jù)。 計(jì)算機(jī)PC平臺(tái)方面:通過 Read(); Write();兩個(gè)函數(shù)負(fù)責(zé)傳出數(shù)據(jù)并接收回顯數(shù)據(jù)。2. 5接口設(shè)計(jì)通過UART串口通訊,首先是計(jì)算機(jī)端通過Console.ReadLine();獲取的鍵盤輸入的數(shù)據(jù),經(jīng)過封裝,用函數(shù) Write ()的接口 _serialPort.Write(chars,0,1);發(fā)送到串口。然后在 ARM板方面實(shí)現(xiàn)各個(gè) 針腳對應(yīng)的前提下,ARM板把接口 Uart_Getch();接收到的數(shù)據(jù)進(jìn)行解包?;匕l(fā)時(shí)又對數(shù)據(jù)進(jìn)行封裝, 然后再通過接口Uart_SendByte(ch);通過串口發(fā)送給計(jì)算機(jī),計(jì)算機(jī)通過接
5、口_serialPort.ReadExisti ng();讀的回送的數(shù)據(jù),然后顯示出來。3詳細(xì)設(shè)計(jì)3.1使用UART進(jìn)行串口通信,需要設(shè)置以下與UART相關(guān)的寄存器。 UART亍控制寄存器(ULCONn,其功能及位描述UART行控制寄存器(ULCONjn寄存器地址讀/寫描述復(fù)位值ULCON00x5000 0000讀/寫UART通道0行控制寄存器0x00ULCON10x5000 4000讀/寫UART通道1行控制寄存器0x00ULCON20x5000 8000讀/寫UART通道2行控制寄存器0x00UART行控制寄存器(ULCON)位描述位描述71保留紅外/正常模式選擇。0:正常,1:紅外模式5
6、:3奇偶校驗(yàn)?zāi)J竭x擇。1 ;0xx:無奇偶校驗(yàn);100 :奇校驗(yàn);101 :偶校驗(yàn);110:強(qiáng)制校驗(yàn)/校驗(yàn)111 :強(qiáng)制校驗(yàn)/校驗(yàn)02停止位選擇0: 1個(gè)停止位1: 2個(gè)停止位 UART控制寄存器(UCONn ),其功能及位UART控制寄存器寄存器地址讀/寫描述復(fù)位值UCON00x5000 0004讀/寫UART通道0控制寄存器0x00UCON10x5000 4004讀/寫UART通道1控制寄存器0x00UCON20x5000 8004讀/寫UART通道2控制寄存器0x00UART控制寄存器(UCON)位描述位描述10選擇使用的時(shí)鐘。0:使用PCLK;1:使用UEXTCLK9發(fā)送中斷請求類型。
7、0:脈沖;1:電平8接收中斷請求類型。0:脈沖;1:電平7使能/禁止Rx超時(shí)中斷。0:禁止;1:使能6使能/禁止UART錯(cuò)誤中斷。 0:禁止;1:使能5回送模式選擇。 0 :正常模式;1 :回送模式4保留3:2確定將Tx數(shù)據(jù)寫入發(fā)送緩沖寄存器的模式。 00:禁止,01:中斷請求或查詢模式10: DMA0請求,DMA3請求11: DMA1 請求0:1確定從UART接收緩沖寄存器讀數(shù)據(jù)的模式。 00:禁止,01:中斷請求或查詢模式10: DMA0請求,DMA3請求11: DMA1 請求 UART FIFO控制寄存器(UFCON),其功能及位描述UART FIFO控制寄存器寄存器地址讀/寫描述復(fù)位值
8、UFCON00x5000 0008讀/寫UART通道0FIFO控制寄存器0x0UFCON10x5000 4008讀/寫UART通道1 FIFO控制寄存器0x0UFCON20x5000 8008讀/寫UART通道2 FIFO控制寄存器0x0UART FIFO控制寄存器(UFCON)位描述位描述7 : 6 確定發(fā)送FIFO的觸發(fā)條件。00:空;01: 4字節(jié);10: 8字節(jié);11: 12字節(jié)5 : 4確定接收FIFO的觸發(fā)條件。00:4字節(jié);01: 8字節(jié);10: 12字節(jié);11: 16字節(jié)3保留2Tx FIFO 復(fù)位位,該位在 FIFO復(fù)位后自動(dòng)清除。0:正常;1: Rx FIFO復(fù)位1Rx F
9、IFO復(fù)位位,該位在 FIFO復(fù)位后自動(dòng)清除。0:正常;1 : Rx FIFO復(fù)位0FIFO使能位。0:禁止;1:使能3.2編程實(shí)現(xiàn)3.21 ARM端主要代碼文件FileCodeDt戲滯 L圜 44PIMIT.S1520 *IGOS1012 * main c15&a n醪 ihemcfg. s0a占 Won. s00鼻* 工|主文件MAIN.C代碼:#include option.h#include def.h#include 44b.h#include 44blib.h void Main(void)unsigned char aa;char *string;rSYSCFG=CACHECFG
10、; / Using 8KB Cache/Port_lnit();ChangePIIValue( 70, 3, 1 ); 設(shè)置 CPU 頻率為 78MUart_lnit(0,57600);Led_Display(0x0);Delay(10);Uart_Select(0); /Select UART0Uart_Printf(nARM 通訊程序設(shè)計(jì));Uart_Printf(nPlease Press A String);while(1)Uart_GetString(string); / 從串口讀取字符串Uart_SendString(string);發(fā)送字符串3.22 PC端界面與主要代碼inuu
11、vx,&ra I電呂t very jjaod well dona!110. Po IIutton:口 回 | S Jmess ace - textBcS- TeiCt:主界面代碼:using System;using Syste m0;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using Syste mO .Ports;using System.Threading;namespaceFrontwork_WindowsFormspublic partial class
12、Form1 : FormstaticSyste mO .Ports.SerialPort _serialPort;public Form1()lnitializeComponent();_serialPort.Parity =Parity .None;/ 設(shè)置校驗(yàn)位_serialPort.StopBits =StopBits .One; / 設(shè)置停止位_serialPort.BaudRate = 57600;/ 設(shè)置波特率_serialPort.DataBits = 8;/ 設(shè)置數(shù)據(jù)位_serialPort.Open();private void button1_Click( object s
13、ender, EventArgs e) Write();public void Write()trystring message = textBox2.Text;III!/向串口發(fā)送字符串 messagetextBox2.Text =_serialPort.Write(message);Thread .Sleep(IO);/讀取串口字符串string messagel = _serialPort.ReadExisting(); if (message1 !=)textBox1.Text += message1 +rn;catch ( TimeoutException )private void
14、 button2_Click( object sender, EventArgs e)Testread .hello(textBox1.Text);/ 保存數(shù)據(jù)到 arm.txtMessageBoxShow(”保存成功”);數(shù)據(jù)保存功能代碼文本文件操作:創(chuàng)建/讀取/拷貝/刪除using System;using Syste mO;class Testreadpublic static void hello( string aa)/創(chuàng)建并寫入(將覆蓋已有文件)using ( StreamWriter sw = File .CreateText( arm.txt)sw.WriteLine(aa);
15、4總結(jié)4.1存在的問題與解決方法在硬件方面,由于一開始對各種嵌入式系統(tǒng)平臺(tái)、對嵌入式系統(tǒng)各端口、端口數(shù)據(jù)幀、端口物理 特性等的不了解,以及客觀條件的限制,在硬件的選擇方面花了一定的時(shí)間,在ARM7與ARM9、USB接口與RS-232接口的選擇上,我們從老師、師兄以及上網(wǎng)找資料了解了這方面信息,并結(jié)合自 身?xiàng)l件,從具有實(shí)際應(yīng)用價(jià)值、開發(fā)難易度、以及開發(fā)時(shí)間各方面考慮, 最終確定選擇 ARM7和RS-232 接口。在軟件方面,對于一些寄存器和函數(shù)接口等不熟悉讓小組成員花了太多時(shí)間,后由小組成員一起 商議,通過上網(wǎng)及參考了一些資料熟悉各函數(shù)接口及寄存器。在PC端程序中我們使用了小組成員相對比較熟悉的
16、微軟.net平臺(tái),并能快速開發(fā)出通信程序。在網(wǎng)絡(luò)通信方面,一開始通信時(shí)遇到接收數(shù)據(jù)不一致甚至亂碼的情況,經(jīng)小組討論后,利用排除 法,后發(fā)現(xiàn)由于在嵌入式系統(tǒng)中程序的波特率與PC端接收程序的波特率不一致導(dǎo)致而成。修改之后順利完成。在小組成員合作方面,一開始的分工不明確,缺乏交流,以及后來有新成員的加入需要時(shí)間的磨 合,但在組長的帶領(lǐng),成員的積極配合下,我們利用課余時(shí)間充分交流,深刻的體會(huì)到成員合作的優(yōu) 越性、高效性。4.2工作小結(jié)通過這次課程設(shè)計(jì),我拓寬了知識(shí)面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計(jì)的基 本目的,在于通過理論與實(shí)際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺悟。尤其是觀察、分析
17、和解 決問題的實(shí)際工作能力,以便培養(yǎng)成為能夠主動(dòng)適應(yīng)社會(huì)主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人 才。作為整個(gè)學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計(jì)雖然安排在兩周進(jìn)行,但并不具有絕對獨(dú)立的意義。它的一個(gè)重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗(yàn)學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理 論知識(shí),嘗試性地應(yīng)用于實(shí)際設(shè)計(jì)工作,并從理論的高度對設(shè)計(jì)工作的現(xiàn)代化提出一些有針對性的建議和設(shè)想。檢驗(yàn)學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實(shí)際工作到底有多大距離,并通過綜合分析,找出學(xué)習(xí) 中存在的不足,以便為完善學(xué)習(xí)計(jì)劃,改變學(xué)習(xí)內(nèi)容與方法提供實(shí)踐依據(jù)。對我們計(jì)算機(jī)專業(yè)的本科 生來說,實(shí)際能力的培養(yǎng)至關(guān)重要,而這種實(shí)際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂 走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計(jì)工作。通過課程設(shè)計(jì),讓我們找出自身狀況與實(shí)際需要的 差距,并在以后的學(xué)習(xí)期間及時(shí)補(bǔ)充相關(guān)知識(shí),為求職與正式工作做好充分的知識(shí)、能力準(zhǔn)備,從而 縮短從校園走向社會(huì)的心理轉(zhuǎn)型期。課程設(shè)計(jì)促進(jìn)了我系人才培養(yǎng)計(jì)劃的完善和課程設(shè)置的調(diào)整。近年來,我系為適應(yīng)學(xué)生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 榕江縣社會(huì)實(shí)踐報(bào)告范文
- 鉗工認(rèn)知報(bào)告范文
- 汽車座椅對標(biāo)報(bào)告范文
- 二零二五年度年委托付款協(xié)議書(跨境金融結(jié)算與風(fēng)險(xiǎn)管理服務(wù)協(xié)議)
- 二零二五年度股東持股比例調(diào)整與公司分紅政策協(xié)議
- 2025年度智能化勞務(wù)安全協(xié)議書
- 2025年度高科技產(chǎn)業(yè)合伙投資合同協(xié)議書
- 二零二五年度現(xiàn)代化辦公區(qū)域保潔與安保綜合服務(wù)合同
- 二零二五年度玉米收購資金托管服務(wù)合同
- 二零二五年度個(gè)人借公司資金用于購房的貸款合同
- 中小學(xué)-安全使用與維護(hù)家用電器-主題班會(huì)教案
- 2025年湖南中醫(yī)藥高等??茖W(xué)校單招職業(yè)技能測試題庫必考題
- 《模具制造流程》課件
- 2025年01月2025廣東深圳市何香凝美術(shù)館公開招聘應(yīng)屆高校畢業(yè)生2人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年北京電子科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 2025年菏澤職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 《中國潰瘍性結(jié)腸炎診治指南(2023年)》解讀
- 中國故事英文版哪吒英文二篇
- 刑釋解教人員安置幫教工作檔案
- 內(nèi)部審計(jì)發(fā)展史
- 壓裂施工常見問題分析
評論
0/150
提交評論