新四季網

基於嵌入式linux系統的實時遙控圖像接口電路的製作方法

2023-05-03 00:08:56 1

專利名稱:基於嵌入式linux系統的實時遙控圖像接口電路的製作方法
技術領域:
本發明屬於實時圖像顯示技術領域,更明確地說涉及一種隨輸入的時間數據實時產生相應的圖像的基於嵌入式LINUX系統的實時遙控圖像接口電路的設計。
背景技術:
隨著大屏幕顯示技術的迅猛發展,實時的圖像顯示技術應用日益廣泛,其在公共場所的廣告效應得到充分肯定。但是,傳統的大屏幕顯示技術的電路結構均十分複雜,造價昂貴,而且其顯示的內容不夠靈活多變。因此,基於嵌入式LINUX系統設計的實時遙控圖像接口必定會以其強大的功能和相對低廉的價格,廣泛推廣應用於各種大屏幕時鐘和廣告。


發明內容
本發明的目的,就在於克服上述缺點和不足,提供一種基於嵌入式LINUX系統的實時遙控圖像接口電路。它電路結構簡單、功能強大、價格相對低廉。可廣泛推廣應用於展覽館、機場、街頭等公共場所中。
為了達到上述目的,本發明包括
(1)存儲LINUX系統程序及編譯的應用主程序的FLASH快閃記憶體;
(2)與快閃記憶體及下述SDRAM存儲器、串行通信接口UART和遙控圖像AV接口互聯並進行控制,而且上電後將LINUX系統程序及編譯的應用主程序從快閃記憶體加載到SDRAM的嵌入式系統CPU;
(3)運行初始化本發明各部分及接口程序的SDRAM;
(4)運行打開UART並設置正確的串行參數程序的SDRAM;
(5)運行對打開的UART的操作進行判斷,如果正確繼續執行下一程序,如果不正確則返回初始化程序的SDRAM;
(6)運行對打開的UART進行數據監控,每一秒鐘為一個間隔向UART發送數據程序的SDRAM;
(7)向嵌入式實時遙控圖像AV接口發送實時的時間數據的串行通信接口UART;
(8)對實時的時間數據進行處理,將當前接收到的數據與系統正在顯示的數據進行比較,如果時間參數沒有發生變化,則繼續獲取時間信息,如果時間參數發生變化,則將新的時間信息傳輸到顯示終端的實時遙控圖像AV接口。
嵌入式系統CPU採用SunPlus公司的SPHE1001A,快閃記憶體為8M字節,SDRAM為32M。
串行通信接口UART的參數為傳輸波特率4800,數據位8,無奇偶校驗,停止位1。
本發明主要包括有嵌入式系統CPU、FLASH、SDRAM、串行通信接口UART和標準的音視頻輸出實時遙控圖像AV接口等。
本發明中,嵌入式系統CPU採用SunPlus公司的SPHE1001A;8M字節的FLASH存儲器主要用來存儲嵌入式LINUX系統的內核以及編譯好的應用程式;SDRAM存儲器在系統上電後主要用來運行主程序;串行通信接口UART與外界通過串口進行實時的數據傳輸;標準的音視頻輸出AV接口用於把實時的音視頻信號傳輸到顯示終端進行顯示。
本發明可根據不同的設備通過串口輸入實時的時間參數,經過嵌入式系統的內部程序處理,最後經由標準的AV埠發送到顯示終端,從而實現實時的圖像顯示功能,由於通過串口的時間參數可以由用戶自由的控制,因此顯示的內容靈活多變,尤其在大屏幕戶外顯示方面具有強大的優勢。
本發明電路結構簡單、功能強大、價格相對低廉。可廣泛推廣應用於展覽館、機場、街頭等公共場所中。



圖1為本發明的電路原理方框圖。
圖2為其程序流程圖。
圖3為實時遙控圖像接口的輸出終端顯示效果圖。

具體實施例方式
實施例1。一種基於嵌入式LINUX系統的實時遙控圖像接口電路,如圖1~圖3所示。它包括
(1)存儲LINUX系統程序及編譯的應用主程序的FLASH快閃記憶體;
(2)與快閃記憶體及下述SDRAM存儲器、串行通信接口UART和遙控圖像AV接口互聯並進行控制,而且上電後將LINUX系統程序及編譯的應用主程序從快閃記憶體加載到SDRAM的嵌入式系統CPU;
(3)運行初始化本發明各部分及接口程序的SDRAM;
(4)運行打開UART並設置正確的串行參數程序的SDRAM;
(5)運行對打開的UART的操作進行判斷,如果正確繼續執行下一程序,如果不正確則返回初始化程序的SDRAM;
(6)運行對打開的UART進行數據監控,每一秒鐘為一個間隔向UART發送數據程序的SDRAM;
(7)向嵌入式實時遙控圖像AV接口發送實時的時間數據的串行通信接口UART;
(8)對實時的時間數據進行處理,將當前接收到的數據與系統正在顯示的數據進行比較,如果時間參數沒有發生變化,則繼續獲取時間信息,如果時間參數發生變化則將新的時間信息傳輸到顯示終端的實時遙控圖像AV接口。
如圖1所示,本發明主要包括嵌入式系統CPU101、FLASH快閃記憶體102、SDRAM103、標準的音視頻輸出實時遙控圖像AV接口104和UART串行通信接口105等組成。
如圖2所示,系統上電後,開始運行201,在CPU控制下,嵌入式系統內核和程序自動從FLASH加載到SDRAM中運行,。接著系統開始進行初始化各種設備和接口202,使主程序運行之前確保系統的狀態穩定,這樣使程序的可靠性和穩定性提高,避免出錯。
接著由於通信的需要,主程序會打開串口203,並設置正確的串口參數傳輸波特率4800,數據位8,無奇偶校驗,停止位1。為確保程序的正確執行,需要對此打開串口操作進行判斷,如果打開設備正確S04程序繼續向下執行,否則錯誤S05則返回重新進行初始化過程。
串口打開成功後,嵌入式系統程序對串口進行數據監控,日曆時間數據為BCD碼十六進位數11個字節,排列為AA,秒,分,時,周,日,月,年低位,年高位,A1,A2。按照這樣統一的規定,每一秒鐘為一個間隔,用戶可以不斷的通過串口向嵌入式實時遙控圖像接口發送實時的時間數據。
實時遙控圖像接口接到串口發來的數據後需要實時的對數據進行處理將當前接收到的數據與系統正在顯示的數據進行比較206,如果時間參數沒有發生變化S09,則繼續獲取時間信息205;否則如果時間參數變化則S08,實時顯示新的時間208。
為使動態顯示實時圖像的效果達到最佳,嵌入式系統採用了OSD菜單設計,使系統的資源得到充分利用。
圖3是本實施例的輸出終端顯示效果圖。從效果圖可以看出實時遙控圖像接口輸出的效果非常好,十分適合大屏幕顯示的各個應用場所。
本實施例的原始碼如下
#include<stdio.h>/*標準輸入輸出定義*/#include<stdlib.h> /*標準函數庫定義*/#include<unistd.h> /*Unix標準函數定義*/#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>/*文件控制定義*/#include<termios.h> /*PPSIX終端控制定義*/#include<errno.h>/*錯誤號定義*/#include<stdio.h>/*標準輸入輸出定義*/#include<stdlib.h> /*標準函數庫定義*/#include<unistd.h> /*Unix標準函數定義*/#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>/*文件控制定義*/#include<termios.h> /*PPSIX終端控制定義*/#include<errno.h>/*錯誤號定義*/#include<math.h>#include<time.h>//#define FALSE-1//#define TRUE 0<!-- SIPO -->#define DATA_HEAD 0xAA#define DATA_TAIL1 0xA1#define DATA_TAIL2 0xA2int OpenDev(char*Dev){int comFd=open(Dev,O_RDWR|O_NOCTTY|O_NONBLOCK);//|O_NOCTTY|O_NDELAYif(-1==comFd){perror("Can't Open Serial Port");return-1;}elsereturn comFd;}/**設置波特率*@brief 設置串口通訊速率*@param fd類型int 打開串口的文件句柄*@param speed 類型int 串口速率*@return void*/void set_speed(int fd,int speed){int speed_arr[]={B38400,B19200,B9600,B4800,B2400,B1200,B300,B38400,B19200,B9600,B4800,B2400,B1200,B300,};iht name_arr[]={38400,19200,9600,4800,2400,1200,300,38400,19200,9600,4800,2400,1200,300,};int i;<!-- SIPO -->int status;struct termios Opt;tcgetattr(fd,Opt);//tagetattrget the current options fot the port,ok;0 error;-1for(i=0;i<sizeof(speed_arr)/sizeof(int);i++){if (speed==name_arr[i]){tcflush(fd,TCIOFLUSH);//刷新輸入輸出緩衝cfsetispeed(Opt,speed_arr[i]);cfsetospeed(Opt,speed_arr[i]);status=tcsetattr(fd,TCSANOW,Opt);//tcsetattrset the new option for theport ok;0 error;-1if (status!=0){perror("tcsetattr fdl"),return,}tcflush(fd,TCIOFLUSH);}}}/*設置校驗的函數*//***@brief 設置串口數據位,停止位和效驗位*@param fd 類型 int 打開的串口文件句柄*@param databits 類型 int 數據位 取值為7或者8*@param stopbits 類型 int 停止位 取值為1或者2*@param parity 類型 int 效驗類型 取值為N,E,O,,S<!-- SIPO -->*/int set_Parity(int fd,int databits,int stopbits,int parity){struct termios options;if (tcgetattr(fd,options)!=0){perror("SetupSerial 1");return-1;}//printf("9999999999999\n");options.c_cflag=~CSIZE;switch(databits)/*設置數據位數*/{case 7:options.c_cflag|=CS7;break;case 8:options.c_cflag|=CS8;break;default;fprintf(stderr,"Unsupported data size\n");return -1;}//printf("1111111111 8bit data\n");/*設置停止位*/switch(stopbits){case 1:optiohs.c_cflag=~CSTOPB;<!-- SIPO -->break;case 2:options.c_cflag|=CSTOPB;break;default:fprintf(stderr,"Unsupported stop bits\n");return -1;}int sendMsg(int comfd,unsigned char*sdata,int lenth){int fd=comfd;unsigned char msg[lenth];int jj;for(jj=0;jj<=lenth-1;jj++){msg[jj]=sdata[jj];//printf("msg[%d]=%c\n",msg[jj]);}unsigned char cmd[3]={0xAA,0xA1,0xA2};int ret:int len:len=sizeof(msg)+sizeof(cmd);unsigned char sendpack[lenth];sendpack
=DATA_HEAD;sendpack[len-1]=DATA_TAIL2;sendpack[len-2]=DATA_TAIL1;int i,l;<!-- SIPO -->if(msgcmd){for(i=1;i<=sizeof(msg);i++){sendpack[i]=msg[i-1];}for(l=0;l<len;l++){printf("now print the sendpack[%d]=%d\n",l,sendpack[l]);}ret=write(fd,sendpack,len);if(ret>0){printf("have write%d msg\n",ret);return ret;}else{printf("write error!\n");return ret;}}}int main(int argc,char**argv){int fd;int send;int setp;time_t timer0,timer1;<!-- SIPO -->unsigned char tmpMsg[8];struct tm *spCurrentTime=NULL;unsigned;//串口一timer0=time(NULL);if(NULL!=(spCurrentTime=gmtime(timer0))){//char*cpTimeString=asctime(spCurrentTime):}else{return 0;}fd=OpenDev(dev);if(fd<0){printf("Can't 0pen Serial Port!\n");exit(0);}else{printf("ComOpened=%d\n",fd);}<!-- SIPO -->set_speed(fd,4800);/*設置串口速率*/setp=set_Parity(fd,8,1,'N');printf("setp is:%d\n",setp);if(setp==-1){printf("Set Parity Error\n");exit(0);}while(1)//循環讀取數據{timerl=time(NULL);if(timerl==timer0+1) /*判斷是否時間加一秒*/{spCurrentTime=localtime(timerl)iTimeSec=spCurrentTime->tm_sec;iTimeMin=spCurrentTime->tm_min;iTimeHour=spCurrentTime->tm_hour;iTimeWday=spCurrentTime->tm_wday;//0-6iTimeMday=spCurrentTime->tm_mday;//1-31iTimeMon=spCurrentTime->tm_mon;//0-11iTimeYear=spCurrentTime->tm_year;//1900iTimeWday_ok=iTimeWday;iTimeMon_ok=iTimeMon+l;else if(iTimeYear<200)<!-- SIPO -->send=sendMsg(fd,tmpMsg,sizeof(tmpMsg));/*將時間參數通過串口發出*/if(send<0){break;}printf("have Send%d char\n",send);timer0=timer1}}close(fd);exit(0);}
實施例1電路結構簡單、功能強大、價格相對低廉。可廣泛推廣應用於展覽館、機場、街頭等公共場所中。
權利要求
1.一種基於嵌入式LINUX系統的實時遙控圖像接口電路,其特徵在於它包括
(1)存儲LINUX系統程序及編譯的應用主程序的FLASH快閃記憶體;
(2)與快閃記憶體及下述SDRAM存儲器、串行通信接口UART和遙控圖像AV接口互聯並進行控制,而且上電後將LINUX系統程序及編譯的應用主程序從快閃記憶體加載到SDRAM的嵌入式系統CPU;
(3)運行初始化本發明各部分及接口程序的SDRAM;
(4)運行打開UART並設置正確的串行參數程序的SDRAM;
(5)運行對打開的UART的操作進行判斷,如果正確繼續執行下一程序,如果不正確則返回初始化程序的SDRAM;
(6)運行對打開的UART進行數據監控,每一秒鐘為一個間隔向UART發送數據程序的SDRAM;
(7)向嵌入式實時遙控圖像AV接口發送實時的時間數據的串行通信接口UART;
(8)對實時的時間數據進行處理,將當前接收到的數據與系統正在顯示的數據進行比較,如果時間參數沒有發生變化,則繼續獲取時間信息,如果時間參數發生變化則將新的時間信息傳輸到顯示終端的實時遙控圖像AV接口。
2.按照權利要求1所述的基於嵌入式LINUX系統的實時遙控圖像接口電路,其特徵在於所說的嵌入式系統CPU採用SunPlus公司的SPHE1001A,快閃記憶體為8M字節,SDRAM為32M。
3.按照權利要求1或2所述的基於嵌入式LINUX系統的實時遙控圖像接口電路,其特徵在於所說的串行通信接口UART的參數為傳輸波特率4800,數據位8,無奇偶校驗,停止位1。
全文摘要
一種基於嵌入式LINUX系統的實時遙控圖像接口電路,屬於實時圖像顯示技術。包括存儲LINUX系統程序及應用主程序的快閃記憶體;上電後將LINUX系統程序及應用主程序從快閃記憶體加載到SDRAM的嵌入式系統CPU;運行初始化各部分及接口程序的SDRAM;運行打開UART並設置正確的串行參數程序的SDRAM;運行對打開的UART的操作進行判斷程序的SDRAM;運行對打開的UART進行數據監控程序的SDRAM;向嵌入式實時遙控圖像AV接口發送實時的時間數據的串行通信接口UART;對實時的時間數據進行處理並傳輸到顯示終端的實時遙控圖像AV接口。它電路簡單、功能強大、價格低廉。可廣泛應用於展覽館、機場、街頭等公共場所中。
文檔編號H04N5/765GK1801914SQ20051010464
公開日2006年7月12日 申請日期2005年12月27日 優先權日2005年12月27日
發明者劉永波, 王文希, 林清武 申請人:海信集團有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀