基于TMS320DM355監(jiān)控服務器設計與實現
由于DM355提供DDR接口,所以選擇速度更快的DDRSDRAM作為動態(tài)存儲器。Linux操作系統(tǒng)及應用程序的運行都在這里。當系統(tǒng)上電后,bootloader進行一些簡單的設置之后將自己搬運到SDRAM內運行,當需要啟動內核時,將內核搬運到SDRAM內運行。此后,整個內存的控制就交給了Linux內核。
6)Ethernet控制器Ethernet控制器選擇DM9000,通過網絡傳輸鏈路實現數據的發(fā)送與接收。
7)RS232及RS485RS232主要用于開發(fā)階段的調試。RS485用于控制云臺,鏡頭等。RS232和RS485采用通用的232和485芯片即可滿足需要。
8)電源模塊電源模塊負責整個系統(tǒng)的供電。我們采用現成的電源模塊提供云臺需要的24V交流電壓,鏡頭需要的12V直流電壓,以及視頻服務器需要的5V直流電壓。由于DM355的核電壓為1.3V,I/O電壓為3.3V,DDRSDRAM的電壓為1.8V,所以我們選擇了TPS65021電源芯片,將輸入的5V電壓轉換為3種不同的電壓輸出。此外我們對DM355的上電順序也進行了考慮。
本設計采用嵌入式Linux操作系統(tǒng)作為其軟件基礎。系統(tǒng)上電后,首先運行引導程序bootloader,初始化CPU和一些I/O設備,然后將Linux內核搬運到內存中,將控制權交給內核。內核啟動后,運行用戶應用程序。系統(tǒng)的軟件層次結構如圖3所示。
圖3系統(tǒng)軟件層次結構
4.1.系統(tǒng)上電及引導程序
系統(tǒng)上電時,是由DM355的輸入引腳BTSEL[1:0]來決定從ROM或者AEMIF啟動。此設計處選擇從ROM啟動。此時,系統(tǒng)直接跳轉到內部 ROM的起始地址(0X00008000)執(zhí)行指令。內嵌的ROM啟動代碼(RBL)進行一些配置操作,然后讀取BOOTCFG寄存器來決定是從 NAND、MMC/SD或者UART啟動。本設計選擇NAND啟動。NANDflash里預先燒寫好了U-boot、Linux內核以及根文件系統(tǒng)。 NAND啟動以后,會讀取bootloader的stage1部分的指令對系統(tǒng)進行必要的設置,然后將stage2部分的代碼搬移到SDRAM中進行執(zhí)行。當用戶選擇啟動內核時,bootloader將內核從NANDflash里搬運到SDRAM,然后跳轉到內核的起始地址進行執(zhí)行,啟動內核。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論