當前位置:首頁 > 單片機 > 單片機
[導讀]  1. 引言  在產業(yè)控制場合中,常會要求通過PC向嵌進式微機傳輸圖片文件、數據文件等。RS485由于價格便宜、操縱簡單、使用者可以隨意編寫應用協(xié)議等優(yōu)點,被廣泛應用在中等長間隔的控制通訊中。因此,利用RS485實

  1. 引言

  在產業(yè)控制場合中,常會要求通過PC向嵌進式微機傳輸圖片文件、數據文件等。RS485由于價格便宜、操縱簡單、使用者可以隨意編寫應用協(xié)議等優(yōu)點,被廣泛應用在中等長間隔的控制通訊中。因此,利用RS485實現PC到嵌進式系統(tǒng)的文件傳輸,十分具有現實意義[6]。

  本文以基于ARM9的三星S3C2410A為嵌進式微處理器,嵌進式Linux為嵌進式操縱系統(tǒng)搭建一個嵌進式系統(tǒng),成功實現了PC通過RS485向嵌進式系統(tǒng)傳輸文件。

  2. RS485接口先容

  RS485是一種多點、雙向、平衡傳輸規(guī)范,被命名為TIA/EIA-485-A標準。

  RS485由RS232發(fā)展而來,它改進了RS232通訊間隔短、速率低的缺點。RS485是一種平衡通訊接口,傳輸速率最高可達10Mbit/s,最大傳輸間隔約為1219m,并答應在一條平衡總線上連接最多32個設備。RS485的共模輸出電壓是-7V~+12V[5]。

  3. 硬件設計

  本文采用FriendlyARM公司的Nano2410V2核心板作為中心處理器模塊,并配以外圍電路。Nano2410V2核心板以S3C2410A為CPU[1]。

  把S3C2410A的UART0分配給RS485總線,由芯片MAX485完成TTL到差分信號的轉換,RS485方向控制線占用GPB2,如圖1所示[2]。

  圖1 硬件連線圖

  PC上使用RS232/RS485轉換器,完成RS232到RS485的轉換。

  4. RS485驅動程序

  RS485標準只對接口的電氣特性作出規(guī)定,而不涉及插件、電纜或協(xié)議[5]。因此,在Linux下使用RS485接口,可借助串口驅動程序實現。但是,RS485是半雙工的,比起RS232,需要多加一個I/O口來控制RS485的方向,該I/O口在發(fā)送數據時置高,接收數據時置低。

  發(fā)送數據:

  ioctl(fd485, 1, 0); //fd485:方向控制I/O口驅動設備文件的fd

  write(fdtty, &bufout, 1); //fdtty:串口驅動設備文件的fd

  delay();

  讀取數據:

  ioctl(fd485, 0, 0);

  read(fdtty, &bufin, 1) ;

  方向控制線的驅動程序設計:

  定義file_operatiONs[3][4]:

  static struct file_operations io485_fops=

  {

  owner:THIS_MODULE,

  ioctl:io485_ioctl

  };

  函數io485_ioctl用于設置RS485接口的方向:cmd為0時,設為輸進;cmd為1時,設為輸出[3][4]。

  static int io485_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)

  {

  switch(cmd)

  {

  case 0:

  case 1:

  write_gpio_bit(GPIO_B2, cmd);

  return 0;

  default:

  return -EINVAL;

  }

  }

  5. 自定義數據幀格式

  在這里數據幀格式指的是發(fā)送方發(fā)送一個文件或者接收方接收一個文件的完整過程所需要的每一個字節(jié)元素的含義[5]。

  本文定義格式如下:

  (1) 開始符:標志開始傳輸文件,1個字節(jié)。

  (2) 文件名長度:所傳輸文件的文件名的長度,1個字節(jié)。

  (3) 文件名:所傳輸文件的文件名,字節(jié)數由文件名長度決定。

  (4) 文件大?。核鶄鬏斘募拇笮?,4個字節(jié)。

  (5) 文件內容:所傳輸文件的數據,字節(jié)數由文件大小決定。

  (6) ACK:確認信號。接收方給發(fā)送方的反饋信號,表示數據接收完成,1個字節(jié)。

  6. 程序流程

  本文對于傳輸文件,采用的方法為:發(fā)送端打開要傳輸的文件,讀取文件數據,然后通過串口向外發(fā)送;接收端先建立一個空文件,然后把從RS485接口讀到的內容寫進該文件里。

  數據校驗:為防止文件數據在傳輸的過程中,丟失或出錯,進行校驗是必要的。在這里,采用的校驗方法是:發(fā)送端每發(fā)送n個字節(jié),就取1個字節(jié)作為校驗字節(jié)。該字節(jié)是前n個字節(jié)異或運算的結果;接收端每接收n個字節(jié),就對該n個字節(jié)進行異或運算,并把結果與校驗字節(jié)作比較,相同則傳輸繼續(xù)進行,不同則要求發(fā)送端重新發(fā)送。

  在本文中,ARM作為文件接收方,PC作為文件發(fā)送方,接收方程序流程圖如圖5所示,發(fā)送方的程序流程與接收方互補即可。

  圖2 程序流程圖

  7. 結語

  通過PC向嵌進式微機傳輸文件在嵌進式系統(tǒng)應用中經常需要。而RS485由于其突出優(yōu)點,廣泛應用在產業(yè)控制中。因此通過RS485實現PC到嵌進式系統(tǒng)的文件傳輸,十分具有現實意義。

  本文作者創(chuàng)新點:提出了一種簡單的RS485驅動程序設計方法,并以一種簡單、實用、可靠的方法成功實現了PC通過RS485向ARM傳輸文件


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉