曹文繼, 王小龍, 楊向, 白奉強
(1.成都大學 機械工程學院, 四川 成都 610106; 2.成都大學 信息科學與工程學院, 四川 成都 610106)
基于VxWorks的有線通信模塊設計
(1.成都大學 機械工程學院, 四川 成都 610106; 2.成都大學 信息科學與工程學院, 四川 成都 610106)
單對線高速數(shù)字用戶線技術是一種用于點對點的高速數(shù)據(jù)傳輸技術,可用于遠距離局域網(wǎng)的連接,以滿足用戶遠程的較小傳輸容量的企業(yè)網(wǎng)專線互聯(lián)和對稱帶寬的Internet接入.基于VxWorks的有線通信模塊以ARM9控制芯片作為主控芯片,完成對通信芯片SDFE-24624的參數(shù)配置和控制,也提供狀態(tài)信息上報、主機控制及斷線自動重連功能.模塊可以不在人為干預的情況下自動運行連接,讓整個模塊的使用更加方便.
被復線;VxWorks;ARM9;SHDSL;SDFE-24624
單對線高速數(shù)字用戶線(Single-pair High-speed Digital Subscriber Line,SHDSL)技術是一種用于點對點的高速數(shù)據(jù)傳輸技術[1-13],可用于遠距離局域網(wǎng)的連接,以滿足用戶遠程的較小傳輸容量的企業(yè)網(wǎng)專線互聯(lián)和對稱帶寬的Internet接入等.為了方便實現(xiàn)有線通信,本研究采用英飛凌公司生產的通信芯片SDFE-24624,并采用基于ARM9的VxWorks控制系統(tǒng)實現(xiàn),從而對通信芯片SDFE-24624進行配置和管理[1-4],體現(xiàn)了被復線通信模塊智能便捷的使用特點.
1.1 系統(tǒng)的總結構設計
系統(tǒng)的被復線有線通信模塊由主機模塊和從機模塊組成,主機與從機間通過采用TEG-707被復線進行連接.主機模塊通過12個獨立的線路界面連接多至12個從機模塊,實現(xiàn)主機分別與12個從機的數(shù)據(jù)通信,模塊硬件框圖如圖1所示.
基于VxWorks的有線通信模塊的主、從模塊具有完全一樣的硬件設計.主從的選擇可以通過硬件跳冒的連接或者軟件設置的方法選擇.有線通信模塊硬件中,參數(shù)配置功能及芯片的管理主要由S3C2440完成,另外處理器還需要狀態(tài)上報及狀態(tài)控制管理等功能.
1.2 主控芯片及其使用
被復線有線通信系統(tǒng)主控采用ARM9嵌入式的微處理器S3C2440A,其包含ARM920T內核及0.13 μmCMOS標準宏單元和存儲器單元,低功耗,簡單,精致,且全靜態(tài)設計,特別適合于對成本和功率敏感型的應用.S3C2440A采用了新的總線架構,如先進微控制總線構架(Advanced Microcontroller Bus Architecture,AMBA),其突出的特點是含有一個由Advanced RISC Machines(ARM)公司設計的16/32-bit ARM920T的RISC處理器.ARM920T實現(xiàn)了MMU、AMBA總線和哈佛結構高速緩沖體系結構.這一結構具有獨立的16 KiB指令高速緩存和16 KiB數(shù)據(jù)高速緩存,每個都由8字長的行組成.除通過提供一套完整的通用系統(tǒng)外設,S3C2440A減少了整體系統(tǒng)成本,且無需配置額外的組件.其內部框圖如圖2所示.
圖1 模塊功能框圖
1.3 S3C2440A UART總線概述
S3C2440A的通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter, UART)配有3個獨立異步串行I/O端口,每個都可以是基于中斷或基于DMA模式的操作.UART可以通過產生中斷或DMA請求來進行CPU和UART之間的數(shù)據(jù)傳輸.UART通過使用系統(tǒng)時鐘以支持最高115.2 Kibit/s的比特率.如果是外部器件提供UEXTCLK的UART,則UART可以運行在更高的速度.每個UART通道包含2個64 B的FIFO.每個UART包含一個波特率發(fā)生器、發(fā)送器、接收器和一個控制單元.波特率發(fā)生器可以由PCLK、FCLK/n或UEXTCLK(外部輸入時鐘)時鐘驅動.發(fā)送器和接收器包含了64 B FIFO和數(shù)據(jù)移位器.將數(shù)據(jù)寫入到FIFO,接著在發(fā)送前復制到發(fā)送移位器中,隨后在發(fā)送數(shù)據(jù)引腳(TxDn)移出數(shù)據(jù).同時,從接收數(shù)據(jù)引腳(RxDn)移入收到的數(shù)據(jù),并從移位器復制到FIFO,內部結構如圖3所示.
圖2 S3C2440A內部框圖
圖3 S3C2440A內部UART框圖
1.4 看門狗
被復線通信模塊中,為了防止系統(tǒng)意外運行失敗,因此需要用到看門狗芯片.S3C2440A本身自帶看門口,但是為了避免意外,本研究采用外置看門狗的方式.如果達到硬件設置的時間(這里設置為1 min)沒有喂狗,那么看門狗將發(fā)出復位信號,其硬件電路設計如圖4所示.
圖4 看門狗電路
2.1 軟件系統(tǒng)整體設計
基于VxWorks被復線控制通信系統(tǒng)主要實現(xiàn)SDFE-24624配置和管理工作.在模塊上電后,通過發(fā)送消息的方式對芯片進行配置,在芯片啟動以后對芯片返回的數(shù)據(jù)進行管理,控制芯片及其上報目前各個通道的狀態(tài)信息等.控制步驟如下:硬件初始化,包括控制I/O、中斷、芯片初始化等;下載SDFE-24624運行所需要的固件到片內;參數(shù)配置,包括SDFE-24624運行參數(shù)配置、模式配置、參數(shù)處理等;管理任務,包括芯片運行狀態(tài)、上報狀態(tài)到主機、斷線重連等.
被復線控制系統(tǒng)程序采用模塊化的思想,將各個部分程序進行模塊化,讓使用過程更加方便程序的調用,整個系統(tǒng)的程序設計框圖如圖5所示.
圖5 程序總體框圖
2.2 驅動程序設計
在對芯片進行初始化之前,首先加載SDFE-24624的驅動程序.VxWorks操作系統(tǒng)中,系統(tǒng)提供的iosDrvInstall函數(shù)可以將驅動設備的驅動程序綁定到系統(tǒng)當中,綁定完成以后只需要通過系統(tǒng)打開設備進行讀寫即可.部分綁定程序如下:
IFX-int32-t Pef24624e-DevCreate(void)
{
PEF24624E-DEV-t*pDevice=NULL;
charbuf[64];
IFX-uint32-t dev-no;
SetTraceLevel(PEF24624E-DRV,DBG-LEVEL-LOW);
SetLogLevel(PEF24624E-DRV,DBG-LEVEL-HIGH);
if (Pef24624eDrvNum<=0)
{
Pef24624eDrvNum=iosDrvInstall(NULL,NULL,
(FUNCPTR) Pef24624e-Open,
(FUNCPTR) Pef24624e-Close,
(FUNCPTR) Pef24624e-Read,
(FUNCPTR) Pef24624e-Write,
(FUNCPTR) Pef24624e-IoCtl);
if (Pef24624eDrvNum<=0)
{
Pef24624eDrvNum=0;
return (-1);
}
}
else
return (-1);
}
此綁定函數(shù)中涉及到的操作函數(shù)及其功能如下:
Pef24624e-Open:打開設備獲取設備號.
Pef24624e-Close:關閉設備.
Pef24624e-Read:對芯片進行讀操作.
Pef24624e-Write:對芯片進行寫操作,發(fā)送Message消息.
Pef24624e-IoCtl:芯片配置命令,包括AUX及RAMSHEEL配置等.
2.3 主機與芯片通信
SDFE-24624內置有Embedded Controller、RAM及AUX幾大功能模塊,外部主控與內部通信的連接方式如圖6所示.
圖6 內部連接框圖
2.4 固件下載
SDFE-24624內部有4個通道,每個通道都配有內部控制器用于配置管理通道.內部控制器和單片機一樣需要有應用程序供其運行,所以需要下載固件文件到SDFE-24624中供內部控制器使用.SDFE-24624的固件文件分為2個段,分別為代碼段和數(shù)據(jù)段,他們的大小分別為144 KiB和48 KiB.固件下載過程如圖7所示.
圖7 固件下載流程
3.1 固件下載結果
圖8為固件下載結果.下載過程主要有初始化及固件下載,其執(zhí)行結果為Init Succeed和Download Complete.
圖8 固件下載結果
3.2 配置結果
圖9為參數(shù)配置成功后的結果.在此過程中,主要執(zhí)行的是芯片參數(shù)的配置以及ACK消息的處理.
圖9 數(shù)據(jù)配置結果
3.3 連接結果
圖10為通道建立的結果.當通道建立成功后,就可以實現(xiàn)正常通信.
圖10 連接成功結果
3.4 信息上報結果
圖11為通道連接成功后將狀態(tài)信息上報給主機的發(fā)送結果.可以看出,連通的通道是第一塊設備的第一個通道.
圖11 uart發(fā)送
3.5 下發(fā)控制命令
圖12為獲取主機發(fā)來的消息后進行控制的信息,顯示的是芯片初始化結果.首先執(zhí)行task-get-control程序,再執(zhí)行sdfe4-connect-ctrl-init,即完成初始化.
圖12 下發(fā)命令控制
[1]曹桂平.VxWorks設備驅動開發(fā)詳解[M].北京:電子工業(yè)出版社,2011.
[2]田志民.VxWorks操作系統(tǒng)下PCI總線驅動設計[J].電子測量技術,2006,29(2):1-3.
[3]羅國慶.VxWorks與嵌入式軟件開發(fā)[M].北京:機械工業(yè)出版社,2003.
[4]溫彥軍.VxWorks程序開發(fā)實踐[M].北京:人民郵電出版社,2004.
[5]李開榮.SHDSL接入技術特點及其發(fā)展趨勢[J].現(xiàn)代電子技術,2004,27(22):1-3.
[6]劉光海,傅豐林.單線對高比特率數(shù)字用戶線(SHDSL)簡介[J].現(xiàn)代電子技術,2002,26(1):62-65.
[7]劉謙.DSL技術的發(fā)展趨勢[J].現(xiàn)代電信科技,2005,35(9):33-37.
[8]葉字煦.SHDSL接入技術及其應用[J].電信科學,2004,20(3):36-38.
[9]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2001.
[10]李征,王曉寧,金添.接入網(wǎng)與接入技術[M].北京:清華大學出版社,2003.
[11]劉琦.主流ADSL技術比較及其前景[EB/OL].[2003-12-25].http://www.ccidnet.com/2003/1225/77756.shtml.
[12]Walter Goralski.ADSL和DSL技術[M].劉勇,譯.北京:人民郵電出版社,2000.
[13]Dennis J Rauschmayer.ADSL/DSL原理[M].楊威,譯.北京:人民郵電出版社,2001.
Software Design of Wire Communication Module Based on VxWorks
CAOWenji1,WANGXiaolong1,YANGXiangjun1,BAIFengqiang2
(1.School of Mechanical Engineering, Chengdu University, Chengdu 610106, China;2.School of Information Science and Engineering, Chengdu University, Chengdu 610106, China)
SHDSL is a kind of point to point high speed transmission technology.It can also be used in remote LAN connection.Besides it can meet the users' enterprise network special line interconnection with a comparatively smaller transmission capacity and symmetrical bandwidth Internet access,etc.Wire communication module based on VxWorks uses the ARM9 controller which is produced by the Samsung as the main controller.Parameter configuration and controlling function of SDFE-24624 is finished.The program can also upload the state of devices,control the main engine and reconnect the channel which is out of connection.The module can run and complete connection automatically without human control which promotes the module to be used in an easier way.
field telephone wire;VxWorks;ARM9;SHDSL;SDFE-24624
1004-5422(2016)04-0375-04
2016-09-14.
曹文繼(1974 — ), 男, 碩士, 高級工程師, 從事數(shù)據(jù)通信與圖像處理傳輸研究.
TN919.2;TP311.52
A