基于FPGA的智能玩具設(shè)計(jì)
(作者未知) 2011/6/23
摘要:本設(shè)計(jì)介紹了一種采用硬件描述語言描述并用FPGA實(shí)現(xiàn)LED拼圖玩具控制軟件及智能判斷部分的設(shè)計(jì)方法。本設(shè)計(jì)結(jié)合了LED動(dòng)態(tài)顯示、無線通信、紅外通信等相關(guān)知識(shí),運(yùn)用VHDL語言描述了一個(gè)具有智能型、趣味性和智力開發(fā)性的LED拼圖玩具。設(shè)計(jì)平臺(tái)為Altera公司的QuartusII5.0軟件,采用Altera公司的Cyclone系列FPGA實(shí)現(xiàn)。本設(shè)計(jì)中的無線發(fā)射與接收部分采用集成模塊來實(shí)現(xiàn),以此來簡(jiǎn)化設(shè)計(jì)。
本文詳細(xì)介紹了LED拼圖玩具的設(shè)計(jì)過程,包括同步信息、無線串行發(fā)射與接收、同步時(shí)鐘、地址信息、抗干擾能力、系統(tǒng)自動(dòng)清零設(shè)計(jì)、紅外數(shù)據(jù)傳輸、自主判斷、隨機(jī)等式部分的設(shè)計(jì)與實(shí)現(xiàn)。對(duì)深入研究電子玩具具有重大的意義。
關(guān)鍵詞:FPGA;VHDL;無線通信;紅外通信;隨機(jī)等式
1 LED拼圖玩具
經(jīng)過玩具市場(chǎng)調(diào)查表明,智能型玩具是今后兒童玩具的一個(gè)重要發(fā)展方向,而將智力開發(fā)和趣味性加入智能型玩具將會(huì)受到更多家長(zhǎng)們的厚愛。LED拼圖玩具集合了趣味性、智力開發(fā)性、智能型。
趣味性:它的趣味運(yùn)算包括了加、減、乘、除(還可以擴(kuò)展為英文字母的識(shí)別和英文單詞的拼接),它由5個(gè)子模塊組成(可以做到更多個(gè))。
智能型:LED拼圖玩具分為系統(tǒng)主機(jī)和子模塊,系統(tǒng)主機(jī)通過無線發(fā)射模塊隨機(jī)的發(fā)送一組等式到各子模塊,各子模塊通過自身的紅外傳感器將數(shù)據(jù)傳送到系統(tǒng)主機(jī)進(jìn)行判斷。如果正確系統(tǒng)主機(jī)將再次通過無線發(fā)射模塊發(fā)送“OK”字符到每個(gè)子模塊,此時(shí)系統(tǒng)主機(jī)上的LED數(shù)碼管顯示“R”字符,標(biāo)志著拼圖正確;如果判斷結(jié)果不正確則無動(dòng)作。
智力開發(fā)性:按下系統(tǒng)主機(jī)的發(fā)送鍵后,所有子模塊上所顯示的為一個(gè)打亂了的等式,此時(shí)小孩子通過觀察、比較、判斷將子模塊擺放成一個(gè)完整的等式。游戲的過程非常適合剛剛開始學(xué)習(xí)簡(jiǎn)單算術(shù)的兒童,游戲可以引導(dǎo)他們進(jìn)行邏輯判斷,改變他們的傳統(tǒng)思維方式,有利于小孩子智力的開發(fā)的同時(shí)增強(qiáng)了大人與小孩子的情感交流,減少彼此之間的代溝,有利于小孩子的健康成長(zhǎng)。
2 設(shè)計(jì)方案論證
一個(gè)好的設(shè)計(jì)少不了好的設(shè)計(jì)方案,一個(gè)好的設(shè)計(jì)方案少不了方案的多次選擇與論證。
2.1基于51系列單片機(jī)的設(shè)計(jì)方案
51系列單片機(jī)體積小、成本低,但是對(duì)設(shè)計(jì)人員自身的編程水平要求較高,也不便于信號(hào)的數(shù)字處理實(shí)現(xiàn),程序運(yùn)行時(shí)串行處理,速度較慢,不便于高速環(huán)境中的應(yīng)用。51系列單片機(jī)內(nèi)部處理數(shù)據(jù)寬度為8位,對(duì)數(shù)據(jù)處理有一定的限制,給設(shè)計(jì)工作帶來了不便。
2.2基于FPGA的設(shè)計(jì)方案
FPGA均支持VHDL語言,它不需要編程人員非常熟悉器件內(nèi)部結(jié)構(gòu),只要熟悉VHDL語言即可對(duì)FPGA進(jìn)行操作。VHDL程序采用并行處理,從現(xiàn)而提高了程序的處理速度,提高了器件的運(yùn)行速度。VHDL語言語法嚴(yán)謹(jǐn),描述的硬件電路穩(wěn)定性好。故選用此方案進(jìn)行LED拼圖玩設(shè)計(jì)。
3 方案設(shè)計(jì)
LED拼圖玩具的設(shè)計(jì),采用載有ALTEAR公司的Cyclone系列芯片EP1C3T144C8N競(jìng)賽板(以下簡(jiǎn)稱競(jìng)賽板)進(jìn)行LED拼圖玩具的設(shè)計(jì)[1][2]。異步串行無線發(fā)射與接收部分,采用集成芯片F(xiàn)S1000A和PCR1A實(shí)現(xiàn)。紅外數(shù)據(jù)傳輸采用普通的紅外發(fā)射管與紅外一體化接收器HS0038實(shí)現(xiàn),顯示部分采用8×8點(diǎn)陣和七段數(shù)碼管實(shí)現(xiàn),發(fā)送按鍵用普通按鍵實(shí)現(xiàn)。軟件部分均采用VHDL語言描述,軟件描述平臺(tái)為QuartusII5.0[3][4]。
3.1設(shè)計(jì)的總體框圖
4 系統(tǒng)主機(jī)設(shè)計(jì)
系統(tǒng)主機(jī)工作流程:按下發(fā)送鍵后,系統(tǒng)隨機(jī)的組合成一組等式,程序?qū)⑦@些數(shù)據(jù)加上同步信息和地址信息,并在數(shù)據(jù)中間加入隔離信息后進(jìn)行并串轉(zhuǎn)換,通過IO輸出口直接驅(qū)動(dòng)無線發(fā)射模塊,將數(shù)據(jù)發(fā)射出去。子模塊的數(shù)據(jù)信息通紅外線傳輸?shù)较到y(tǒng)主機(jī)的紅外接收器,接收器將數(shù)據(jù)送到系統(tǒng)主機(jī),程序?qū)⑵鋽?shù)據(jù)進(jìn)行算術(shù)判斷,判斷正確時(shí)通過無線發(fā)射模塊反饋到子模塊。
4.1無線通信數(shù)據(jù)格式
在無線通信中,為了更好的區(qū)分?jǐn)?shù)據(jù)信息與干擾信息,在發(fā)射過程中加入同步信息。為了保證同步信息的唯一性,特在地址信息和字符信息中加入了一個(gè)“0”。地址信息采用4位編碼,共16個(gè)地址,一共可以做16個(gè)子模塊,字符信息包括“0~9,+,-,×,÷,OK”一共16位,所以也采用4位編碼,如果想擴(kuò)展出英文字符,可以采用5位甚至更多位編碼。
4.2無線發(fā)射電路
為了使電路在接收時(shí)更有效的識(shí)別數(shù)據(jù),采用的幀格式為:7位開始位“0111110”加上9位數(shù)據(jù)位,由于傳輸數(shù)據(jù)位數(shù)少,故不設(shè)(未完,下一頁)
|