當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:介紹嵌入式家庭網(wǎng)關(guān)的基本框架和信息流程,及其CPU S3C4510B的體系結(jié)構(gòu)和內(nèi)部資源;說明在所選用uClinux操作系統(tǒng)下,添加SPI接口驅(qū)動程序的詳細(xì)過程。 關(guān)鍵詞:家庭網(wǎng)

摘要:介紹嵌入式家庭網(wǎng)關(guān)的基本框架和信息流程,及其CPU S3C4510B的體系結(jié)構(gòu)和內(nèi)部資源;說明在所選用uClinux操作系統(tǒng)下,添加SPI接口驅(qū)動程序的詳細(xì)過程。 關(guān)鍵詞:家庭網(wǎng)關(guān) S3C4510B uClinux SPI 軟件模擬 引言 隨著信息社會的發(fā)展,網(wǎng)絡(luò)和信息家電越來越地出現(xiàn)在人們的生活中。人們普通要求將家庭內(nèi)的所有家用電器與Internet連接起來,實現(xiàn)主人在遠(yuǎn)方用計算機(jī)或電話通過Internet對象家庭電設(shè)施進(jìn)行監(jiān)控。家用電器制造商可以通過網(wǎng)絡(luò)對其生產(chǎn)的設(shè)備進(jìn)行售后跟蹤服務(wù);家用電器是故障時能自動按預(yù)設(shè)的郵件地址來發(fā)送電子郵件進(jìn)行報警。這就需要有一個“家庭網(wǎng)絡(luò)中央控制器”。它對外與Internet連接,對內(nèi)通過家庭內(nèi)部無線局域網(wǎng)將所有家用電器連接成一體,從而確保信息家電安全地接入Internet。當(dāng)前,多數(shù)研究單位推出的家庭網(wǎng)絡(luò)智能控制器,均以PC或準(zhǔn)PC機(jī)作為硬件平臺,由于價位高而均未被市場容納。 嵌入式Internet是近幾年發(fā)展起來的一項新興技術(shù)。以32位ARM嵌入式微處理器為硬件平臺,通過移植嵌入式操作系統(tǒng)uClinux內(nèi)核,開發(fā)相應(yīng)的硬件驅(qū)動、微型GUI和上層應(yīng)用軟件,最終實現(xiàn)產(chǎn)品化的嵌入式家庭網(wǎng)絡(luò)中央控制器。該系統(tǒng)具有體積小、功耗低、價格便宜的特點。 1 系統(tǒng)的硬件組成 本系統(tǒng)以高性能、低價格的S3C4510B為主CPU。它是Samsung公司推出的基于ARM7TDMI核,精簡指令系統(tǒng)的32位高速微處理器。工作電壓為3.3V,內(nèi)核ARM7TDMI的工作電壓為2.5V,大大降低了芯片的功耗。S3C4510B片上資源:一個總線仲裁器可以根據(jù)總線仲裁優(yōu)先級在片上功能模塊和外圍設(shè)備之間進(jìn)行系統(tǒng)總線控制權(quán)分配;8KB指令、數(shù)據(jù)復(fù)用Cache,每128bit為1頁,并可全部或部分設(shè)置為SRAM;1個主I2C 總線控制器,可作為主發(fā)送器或主接收器,能連接多個從設(shè)備;2個通用DMA;18個通用I/O口; 2路4線UART口,其中一個支持IrDA 1.0,可用于紅外通信;6組ROM/SRAM/Flash用于管理外部存儲器。另外,可擴(kuò)展4組動態(tài)存儲器和4 BANK擴(kuò)展I/O設(shè)備;2通道帶有DMA傳送方式的HDLC口;1個10M/100M自適應(yīng)以太網(wǎng)控制器。 圖1為家庭網(wǎng)關(guān)的硬件框圖,以S3C4510B為基本核心系統(tǒng),外圍擴(kuò)展一系列功能模塊。有4%26;#215;4鍵盤及以屏幕LCD顯示構(gòu)成良好的人機(jī)界面,用于手動本地參數(shù)查詢和設(shè)定。家庭網(wǎng)關(guān)基本系統(tǒng)以SPI接口與PTR3000無線收發(fā)模塊相連,同時家庭內(nèi)部家電控制器也通過SPI接口擴(kuò)展 PTR3000無線模塊。這樣,家庭網(wǎng)關(guān)的無線模塊以輪詢的方式與家庭內(nèi)各家電控制器上無線模塊進(jìn)行通信,從而組成家庭內(nèi)部無線子網(wǎng)。家庭網(wǎng)關(guān)基本系統(tǒng)只需對SPI口進(jìn)行操作即可實現(xiàn)與家電通信。實現(xiàn)了家電以家庭網(wǎng)關(guān)為中介與Internet在物理層互聯(lián)的三個通路:PC通過LAN經(jīng)由Internet連接到基本系統(tǒng)的以太網(wǎng)口、PC通過Modem經(jīng)由公司電話網(wǎng)與嵌入式Modem相連再到UART1、電話機(jī)經(jīng)過公用電話網(wǎng)經(jīng)語音卡連到UART1。


2 uClinux嵌入式操作系統(tǒng) 操作系統(tǒng)選用uClinux。它是一個完全符合GNU(GNU’s Not Unix,自由軟件基金會)/GPL(General Pulic License,通用公共許可證)公約的完全開放代碼項目,是標(biāo)準(zhǔn)Linux的一個分支,現(xiàn)在由Lineo公司支持維護(hù)。它專門針對沒有MMU的CPU,并且專為嵌入式系統(tǒng)做了許多小型化的工作。 UClinux經(jīng)過對標(biāo)準(zhǔn)Linux內(nèi)核的改動,形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,但uClinux仍然保留了 Linux的大多數(shù)的優(yōu)點,穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、完備的對各種文件系統(tǒng)的支持以及標(biāo)準(zhǔn)豐富的API。它的主要特片如下: ①在linux-2.4.x/driver/char/Makefile添加1行:obj_$(CONFIG_SPI)+=SPI.0。在24行obj- y+=mem.o tty_io.o后加PI.o。 ②在linux-2.4.x/driver/char/Config.in,添加1行:bool"SPI"CONFIG_SPI便于在make me nuconfig時選擇。 ③在linux-2.4.x/driver/char/mem.c在文件頭部添加:#ifdef CONFIG_SPI /*編譯時選擇該項就執(zhí)行SPI的初始化函數(shù)*/ extern void SPI_init(void); #endif 在chr_dev_init()函數(shù)添加:#ifdef CONFIT_SPI SPI_init(); #endif ④修改vendor/Samsung/4510b/Makefile,建立起設(shè)備節(jié)點。 在12~35行間,DEVICE部分添加內(nèi)容SPI,c,29,0。SPI是設(shè)備名,c代表字符設(shè)備,29是SPI的主設(shè)備號,0是SPI的次設(shè)備號。 ⑤make menuconfig時選中SPI編譯,然后直載。 啟動后,會看到/proc/devinces中字符設(shè)備多了一項SPI 29。 S3C4510B有18個通用I/O口,其中高10位可設(shè)置為其它功能口。在該系統(tǒng)中,設(shè)置P8為中斷接收線,P11模擬主機(jī)輸出線MOSI,P12模擬主機(jī)時鐘SCK,P13模擬主機(jī)輸入線MISO。P8口用于接收PTR3000的發(fā)送請求信號。當(dāng)P8口接收到請求信號時,系統(tǒng)進(jìn)入中斷處理。中斷處理進(jìn)程喚醒睡在睡眠隊列SPI_WAIT上的讀進(jìn)程,讀進(jìn)程由P12口輸出SCK信號并由P13口讀入數(shù)據(jù)。值得說明的是,SPI不帶中斷線,在此用P8口做中斷接收線是為了避免操作系統(tǒng)在沒有進(jìn)行SPI操作時不斷向SCK線發(fā)時鐘信號。因此,MSP430F147IPM必須另外與S3C4510B連一個引腳在請求發(fā)送數(shù)據(jù)時發(fā)出中斷接收線是為了避免操作系統(tǒng)在沒有進(jìn)行SPI操作時不斷向SCK線發(fā)時鐘信號。因此,MSP430F147IPM必須另外與 S3C4510B連一個引腳在請求發(fā)送數(shù)據(jù)時發(fā)出中斷請求信號。實現(xiàn)過程如下: Static wait_queue_head_wait; //休眠隊列 //讀函數(shù) static ssize_t SPI_onlyread(struct file*file,char *buf,size_t count,loff_t *ppos) { interruptible_sleep_on(%26;amp;SPI_wait); //讀進(jìn)程睡眠等待讀中斷信號 if(count>BUFNUM)count=BUFNUM; for(num=0;num>(12-i)); //數(shù)據(jù)輸入 } } if(copy_to_user(buf,%26;amp;SPI_read,count)) //數(shù)據(jù)從內(nèi)核空間拷貝到用戶這間 return-EFAULT; return count; } //寫函數(shù) static ssize_t SPI_onlywrite(struct file *file,const char *buf,size_t count,loff_t *ppos) { if(count>BUFNUM)count=BUFNUM; if(copy_from_user(%26;amp;SPI_write,buf,count)) //數(shù)據(jù)從用戶空間拷貝到內(nèi)核空間 return-EFAULT; for(num=0;num>1; iopdata=iopdata^0x1000; //時鐘輸出 } } return count; } //中斷響應(yīng)函數(shù) static int SPI_irq(int irq,void *dev_id,struct pt_regs *regs) { intpnd=intpnd|0X1; //清中斷位 wake_up_interruptible(%26;amp;SPI_wait); //喚醒睡眠隊列 return 1; } //字符設(shè)備驅(qū)動接口 static struct file_operations SPI_fops={ owner; THIS_MODULE, read: SPI_onlyread, write: SPI_onlywrite, }; //初始化函數(shù) int_init SPI_init(void) register_chrdev(29,"SPI"%26;amp;SPI_fops);//設(shè)備注冊函數(shù) init_waitqueue_head(%26;amp;SPI_wait); if(!request_irq(0,SPI_irq,SA_SAMPLE_RANDOM,"SPI"NULL)){ //中斷申請 return-EFAULT; } iopmod=(iopmod%26;amp;0xffffe7ff)=0x1800+iopmod; //設(shè)置通用I/O口模式 iopcon=(iopcon%26;amp;0xffffffe0)+0xle+iopcon;//設(shè)置通用I/O模式 enable_irq(0); //開中斷 return 0; } module_init(SPI_init); MODULE_LICENSE("GPL); EXPORT_NO_SYMBOLS; 結(jié)語 實驗證明,模擬的SPI口接收發(fā)送數(shù)據(jù)準(zhǔn)確可靠。用戶程序可以以設(shè)備文件的形式進(jìn)行訪問,與標(biāo)準(zhǔn)的SPI接口無異。該方案對于嵌入式家庭網(wǎng)關(guān)的研究,以及運用uClinux作為操作系統(tǒng)的嵌入式模擬通信接口,有一定的參考價值。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉