999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于雙口RAM實現雙核通信模塊的驅動設計

2014-09-28 01:13:34潘必超
電子器件 2014年1期

潘必超,曹 彪

(1.廣東機電職業技術學院信息工程學院,廣州510515;2.華南理工大學機械與汽車工程學院,廣州510640)

基于雙口RAM實現雙核通信模塊的驅動設計

潘必超1,曹 彪2*

(1.廣東機電職業技術學院信息工程學院,廣州510515;2.華南理工大學機械與汽車工程學院,廣州510640)

傳統單核心控制器受制于硬件結構相對封閉,可控參數有限,一定程度上影響了工藝過程控制的靈活性。設計一種開放式的控制器,實現過程控制網絡化是當今物聯網發展的趨勢。文章基于嵌入式Linux系統平臺,使用高速雙端口RAM芯片CY7C024AV2,提出一種模塊化的DSP與ARM的雙核通信模塊方案及其驅動程序的設計,實現了控制器的雙核數據通信功能,為控制器的網絡智能控制建立了軟件基礎。實驗證明,該驅動程序的支持下控制器的雙核數據通信性能滿意。

嵌入式;雙核;物聯網;驅動程序

隨著物聯網產業的發展,工業控制智能化需求日漸提高。控制器除了要肩負自身過程控制的基本功能外,還應該具備一定的對外界環境的感控功能,從而實現物物相連。這就要求控制器必須具有開放的接口并實現高效的數據交互技術。就電源控制器領域來說,近年來以DSP、ARM為數字化控制核心的焊接電源成為了研究的熱點,由于其高性能高可靠性得到了廣泛的應用[1-2]。配合嵌入式Linux操作系統的開放性,控制器將具有更高的控制靈活性。但過去的控制器硬件架構相對比較封閉。若在控制器中實現開放的網絡接口,實現控制器網絡互連,過去傳統面向焊接工藝過程控制具有單一處理器架構的控制器則難以滿足需求。為了滿足電源控制器聯網而產生的復雜多任務需求,ARM與DSP構成的雙核控制器架構日趨普及。目前雙核控制器的工業解決方案常見兩種:單芯雙核與雙芯雙核。考慮到盡量保留已有產品硬件結構基礎上,并結合控制器成本、模塊化設計以及并行開發問題,本文采用雙芯雙核的松耦合架構實現控制器。對于該種架構,包含雙核通信協議IPC的驅動程序設計則成為了設計的關鍵點和難點[3-5]。本文提出了一種基于雙端口芯片CY7C024AV2實現控制器雙向異步通信的方案,并在Linux下實現了ARM與雙端口RAM的驅動程序。實驗結果證明,該通信架構具有較高的可靠性。

1 核間通信的硬件電路連接

CY7C024AV2是由Cypress公司專門為多核通信而推出的一款雙端口異步存儲芯片。該芯片可作為RAM芯片獨立使用,也能同時與兩種不同速率的MCU相連接實現傳輸速率匹配。且內置了多種防止數據訪問沖突的保護機制。該存儲芯片的存取周期達到20 ns,理論帶寬可以達到50 Mbit/s×16 bit/s。圖1給出了ARM芯片AM1808以及C2000系列DSP與雙端口RAM接口互連電路模塊的電路原理圖。AM1808使用EMIFA(External Memory Interface A)與CY7C024AV2其中一個端口相連接。EMIFA是AM1808用于與外部存儲器連接訪問的控制器[6],其主要用途是提供一種通用的連接方法,使CPU能與多種不同的外部存儲設備相連接。這些外部設備可以是SDRAM、Flash與SRAM。在本設計方案中,線路連接的時候需要注意的是EMIFA的數據位寬是32位的,而CY7C024AV2是16位存儲器[7],在地址總線上,采用了EMA_BA_1引腳連接到了CY7C024AV2的最低地址線。這樣就使得通信雙方地址空間相匹配,均為16位數據存儲單元地址。而DSP端的數據位寬是16位[8],與CY7C024AV2相一致,所以無需做特別處理。

圖1 控制器內雙核間通信接口原理

硬件設計上,基于本文雙核通信方案網絡擴展模塊(后面簡稱為模塊)的電路板實物如圖2所示。模塊上集成了調試COM口、以太網口、IP地址撥碼器、雙端口RAM以及基于DDR2接口封裝可拆卸AM1808模塊。模塊與逆變焊機控制底板使用圖示模塊左邊緣排線接口相連。模塊化的設計更有利于整機成本的控制。

圖2 控制器雙核通信電路擴展模塊

2 驅動程序設計與實現

嵌入式Linux系統主要通過驅動程序來駕馭硬件設備。驅動硬件是操作系統最基本的功能,并且提供統一的操作方式。嵌入式Linux驅動的一個重要特點就是將所有的設備都當作是文件進行處理[9]。因此,嵌入式Linux下的設備驅動程序設計主要需要完成3個任務,分別是硬件板級初始化、驅動程序初始化以及驅動程序文件接口的實現[10]。驅動程序整體結構如圖3所示。

圖3 通信模塊驅動程序結構

2.1 板級初始化工作

本控制器ARM采用的AM1808,Linux在加載驅動程序前,ARM訪問雙端口RAM所使用的EMIFA接口的數據IO、地址IO和控制IO引腳必須處于正常的工作模式。工作模式由相應的MUX寄存器決定的,可以通過宏MUX_CFG實現工作模式的切換,使用代碼如下:

上述代碼中,MUX_CFG宏的第6個參數為關鍵參數,該參數的取值則為該IO引腳的實際工作模式。

其次,板級初始化還需要配置EMIFA訪問時序參數,該參數設置了總線接口中的訪問控制線在一次讀動作以及一次寫動作中的邏輯時序,該參數的取值主要由被訪問芯片的推薦工作參數決定[6-7]:

static struct davinci_aemif_timing da850_evm_sram_timing=

在BSP源碼包中,結構體davinci_aemif_timing定義了EMIFA總線訪問讀、寫時序的6個重要參數。上述代碼中相應時間參數的單位是EMIFA總線時鐘周期。默認情況下,總線時鐘周期是系統時鐘周期的2分頻。

2.2 設備的文件接口的實現

Linux驅動程序將設備視為文件。除了網絡設備之外,字符設備和塊設備都被映射到Linux文件系統的文件和目錄。可以采用訪問文件的方式訪問物理設備[11-12],見圖3所示字符設備驅動結構。但前提是在驅動中需要實現若干文件訪問接口。通過文件系統的系統調用接口open()、write()、read()、close()等函數即可訪問設備。

本文驅動程序中訪問雙端口 RAM芯片CY7C024AV2需要實現的文件訪問接口包括:

(1)打開芯片(文件)接口 這里主要負責EMIFA接口工作模式的初始化;在內核空間中申請足夠的緩沖空間;分配填寫至于filp->private_data的數據結構;檢查雙端口RAM芯片是否就緒等。

(2)釋放芯片(文件)接口 釋放已申請的緩沖區空間以及系統分配的內存空間。這里包括打開芯片時候分配的 filp->private_data所指向的內存空間。

(3)讀取芯片(文件)接口 該接口的主要作用是將雙端口RAM中的數據通過調用copy_to_user ()函數實現從內核空間向用戶空間復制數據;從而實現讀取雙端口RAM的功能。

(4)寫入芯片(文件)接口 該接口的主要作用是調用copy_from_user()函數實現從用戶空間將數據復制到內核空間,從而實現寫入雙端口RAM的功能。

(5)索引芯片(文件)接口 EMIFA功過在16bit異步數據收發模式,在RAM芯片尋址時候相應地也要實現基于雙字節為單位的偏移量計算。從而才能正確定位數據收發的起始地址。

本驅動程序中,file_operations結構體的配置代碼如下:

文件訪問接口中比較關鍵的是兩個操作。第一是實現從內核空間到用戶空間的數據傳遞。copy_ from_user函數,主要實現從用戶空間向內核空間傳遞數據。而copy_to_user函數實現從內核空間向用戶空間發送數據。第二是實現物理地址向內核地址的映射,即ioremap()函數的調用。

2.3 驅動程序初始化

從AM1808參考手冊可以查到EMIFA接口的物理地址是0x60000000,需要在驅動程序頭文件中聲明雙口RAM的物理地址常量SRAM0_PHYADDR。同時雙端口RAM覆蓋2 kbyte地址空間,需要聲明內存容量MEMDEV_SIZE。代碼如下:

#define SRAM0_PHYADDR 0x60000000

#define MEMDEV_SIZE 0x2000

驅動程序初始化,其關鍵任務主要有兩個:完成驅動程序注冊以及建立物理內存空間和內核內存空間的地址映射關系。初始化流程如圖4所示,驅動程序首先通過調用register_chrdev_region函數向內核注冊一字符型驅動程序。注冊成功后,通過調用cdev_init函數實現注冊訪問雙端口RAM芯片的文件訪問接口。這里面包括了本文3.2節中指出的芯片讀、芯片寫、芯片打開、芯片釋放以及片內地址定位等5個常用的文件訪問接口。

圖4 驅動程序初始化流程圖

建立芯片內存地址到內核空間地址的映射關系,是Linux驅動程序最為關鍵的一步。首先,調用了kmalloc函數,在內核空間中申請一個設備結構體變量空間。該結構體主要用以記錄雙端口RAM的實際物理地址以及內核空間地址。第2步,使用request_ mem_region函數登記物理地址空間SRAM0_PHYADDR開始的2 kbyte空間被占用。最后,調用ioremap函數,建立物理地址空間到內核地址空間的映射關系。這樣,驅動程序可以通過訪問內核空間地址來實現對雙端口RAM芯片物理地址的訪問。

3 驅動程序測試

3.1 讀寫控制線時序的驗證

為了驗證驅動程序訪問雙端口RAM時序,實驗采用示波器測試ARM芯片AM1808EMIFA接口上的片選信號(CS)和輸出使能信號(OE)。圖5所示,信道1為EMIFA片選信號,該信號為低有效。信道2為DRAM輸出使能信號信號。在一次讀操作中,由于AM1808總線工作在32 bit模式,而EMIFA配置成了16 bit異步模式,因此EMIFA需要完成2次讀請求動作。因此圖3中CS控制信號與OE信號分別依次輸出2次有效信號。從讀寫訪問周期上,單次16位讀寫周期為180 ns,符合2.1節中預期的設計要求。

圖5 AM1808讀操作控制線時序波形

3.2 連續讀寫性能測試

在3.1節訪問控制時序正確的前提下,進一步進行雙核通信連續讀寫測試。這里使用32通邏輯分析儀,如圖 6所示,CH1~CH11分別掛接在AM1808與DRAM的數據總線上,CH17掛接在輸出使能OE引腳上。采用測試邏輯是DSP先向DRAM 2 kbyte字節順序寫滿20~210,由AM1808執行進行連續讀請求。由圖上可見數據總線能呈現出20~210的數據返回值。在2.1節中,由于當前驅動參數設置了一次讀寫周期為180 ns,圖4下方時間坐標軸時間單位為μs,本次測試在35μs時間內完成了192次讀操作,因此在該驅動參數下控制器雙核通信帶寬達到雙向88 Mbit/s。這個通信帶寬能完全滿足正常控制采樣數據的高速上傳。

圖6 邏輯分析儀記錄AM1808連續讀雙端口RAM信號

4 結語

本文在嵌入式Linux系統之上采用雙端口型高速RAM芯片CY7C024AV2開發控制器雙核擴展模塊及其驅動程序,實現了控制器ARM+DSP的雙核通信架構,從而在原電源控制器基礎上實現了網絡接口的擴展。這將大大提高了控制器對于過程工藝控制開放性,為控制器互聯及其物聯網控制提供了硬件基礎和軟件基礎。在示波器和邏輯分析儀的輔助下,本文所設計的驅動程序的正確性得到了驗證,同時基于該驅動程序之上的雙核通信模塊也具備了較高的通信性能。

[1]郝小江.基于DSP逆變焊接電源數字控制[J].電焊機,2010,40(9):40-42.

[2]霍明.基于ARM控制的多功能數字化逆變焊接電源[J].焊接技術,2009,38(2):5-8.

[3]劉玉珍,張曄.雙端口RAM在ARM與DSP通信系統中的應用[J].計算機系統應用,2011,20(11):213-216.

[4]安劍奇,廖麗清,溫興清.高速雙端口共享存儲器IDT7025及其應用[J].電子工藝技術,2006,27(5):291-293.

[5]朱欣華.多機系統中雙口RAM的構成方法及應用[J].測控技術,2006,15(2):44-46.

[6]AM1808/AM1810 ARM Microprocessor Technical Reference Manual[M].Texas Instruments,December 2011.

[7]CY7C024AV Technical Reference Manual(Document38-06052)[S].Cypress Semiconductor Corporation,March 30,2011.

[8]TMS320F28335 Digital Signal Controllers(DSCs)Data Manual (Literature Number:SPRS439I)[M].Texas Instruments,March 2011.

[9]章堅武,許曉榮,李波.基于嵌入式Linux的雙口異步RAM驅動開發[J].電子器件,2006,29(2):536-538.

[10]屈克文,石奮蘇.基于ARM-Linux的旋轉編碼器接口與驅動程序的設計[J].計算機應用,2011,31(12S):156-163.

[11]Ju Jinwu,Cai Lecai,Luo Renjia.The Design of Linux Driver of WSN Nodes Based on ARM[C]//Intelligent Computation Tech-nology and Automation(ICICTA),2011 International Conference,Page(s):761-764.

[12]Liu Long,Zhang Yuncui.Improved Method of Computer Keyboard Driver Based on Embedded Linux[C]//Fuzzy Systems and Knowledge Discovery(FSKD),2012 9th International Conference,Page (s):2482-2486.

Driver Designed for Dual-Core Communication Module Based on Dual-Port RAM

PAN Bichao1,CAO Biao2*
(1.College of Information Engineering,Guangdong Ji Dian Polytechnic,Guangzhou 510515,China; 2.School of Mechanical and Automobile Engineering,South China University of Technology,Guangzhou 510640,China)

The flexibility of process control is greatly affected by the relatively closed hardware architecture and limited amount of control parameters.It is a trend to develop a smart controller with open hardware architecture which can make it possible of control process network.With the use of Dual-Port RAM CY7C024AV2,A dual-core solution with DSP and ARM is presented,as long as the driver development under embedded Linux for the dual-core controller module.The driver presented provided software basis for intelligent network controlmethods.Experiment result shows that the driver can achieve a good performance on inter-core communication.

embedded system;dual-core;internet of things;driver

10.3969/j.issn.1005-9490.2014.01.013

TP31 文獻標識碼:A 文章編號:1005-9490(2014)01-0050-05

2013-05-11修改日期:2013-06-12

EEACC:6210C

潘必超(1978-),男,漢族,廣東惠州人,廣東機電職業技術學院講師/系統分析師,碩士,研究方向為數字化電源裝備及智能控制技術,物聯網應用技術,bcpan@126.com;

曹 彪(1963-),男,漢族,貴州盤縣人,教授/博士生導師,研究方向為數字化電源設備及智能控制技術:高性能工業逆變電源的設計、計算機仿真與智能控制,電力電子技術,新型開關電源及應用技術。

主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠奇米777 | 香蕉伊思人视频| 国产一级毛片在线| 欧美在线视频a| 日韩视频福利| 国产高清不卡| 香蕉伊思人视频| 爆乳熟妇一区二区三区| 欧美有码在线| 福利一区在线| 国产精品亚洲αv天堂无码| 亚洲视频无码| 久久亚洲国产最新网站| 999国内精品视频免费| 手机精品福利在线观看| 久久亚洲高清国产| 国产主播在线观看| 国产哺乳奶水91在线播放| 精品久久久久久中文字幕女| 99久久国产综合精品女同| 日韩人妻精品一区| 欧美福利在线播放| 亚洲日韩精品欧美中文字幕| 午夜一级做a爰片久久毛片| 国产精品视频猛进猛出| 亚洲久悠悠色悠在线播放| 国产精品美女免费视频大全| 久久香蕉国产线看精品| 3p叠罗汉国产精品久久| 一区二区三区四区在线| 性喷潮久久久久久久久| 国产91在线免费视频| 国内99精品激情视频精品| 国产av一码二码三码无码| 国产福利不卡视频| 国产亚洲精品自在久久不卡| 国产欧美中文字幕| 国产免费网址| 亚洲成人黄色网址| 亚洲日本精品一区二区| 国产凹凸视频在线观看| 国产区福利小视频在线观看尤物| 亚洲天堂免费| 一本无码在线观看| 一级毛片免费高清视频| 伊人成色综合网| 欧美精品另类| 国产精品乱偷免费视频| 国产亚洲精品精品精品| 国产一级片网址| 国内精品久久九九国产精品| 三上悠亚一区二区| 欧洲一区二区三区无码| 熟女成人国产精品视频| www.精品视频| 亚洲精品无码在线播放网站| 国产一区成人| 在线观看av永久| 婷婷99视频精品全部在线观看| 国产乱码精品一区二区三区中文| 午夜视频日本| 中文字幕在线视频免费| 青草91视频免费观看| 日韩在线欧美在线| 日本午夜影院| 9cao视频精品| 色丁丁毛片在线观看| 亚洲日本中文字幕天堂网| 国内精品91| 亚洲成av人无码综合在线观看| 亚洲精品在线观看91| 九九热精品视频在线| 大香网伊人久久综合网2020| 成年免费在线观看| 久精品色妇丰满人妻| 国产成人资源| 欧美日本在线观看| 欧美福利在线| 自偷自拍三级全三级视频 | 九九香蕉视频| 国产丝袜精品| 最新日本中文字幕|