繞線(xiàn)機是工業(yè)生產(chǎn)中的重要的設備,繞線(xiàn)機所繞制的產(chǎn)品是經(jīng)常變化的,會(huì )經(jīng)常根據繞線(xiàn)的匝數和線(xiàn)徑來(lái)調整繞線(xiàn)機的參數。龍?chǎng)坞娮訌氖?strong>自動(dòng)繞線(xiàn)機,全自動(dòng)繞線(xiàn)機的研發(fā)已經(jīng)具有豐富的經(jīng)驗,從最初的PLC控制到現在的單片機,我們提出用PS/2接口的數字鍵盤(pán)來(lái)實(shí)現參數的設置。
PS/2接口的數字鍵盤(pán)采用的通訊協(xié)議方便可靠,用計算機的PS/2接口數字小鍵盤(pán)來(lái)作為輸入的設定,是一種十分方便和廉價(jià)的方法,可以方便地修改單片機的各種參數。
1、PS/2鍵盤(pán)介紹
上電后,PS/2接口小鍵盤(pán)上電自檢通過(guò)發(fā)出信號OxAA或者發(fā)出自檢錯誤信號OxFC、單片機接收為OxAA,進(jìn)入下一步,否則,進(jìn)行出錯誤處理、關(guān)掉鍵盤(pán)的LED指示燈,單片機發(fā)送OxED信號,然后接收鍵盤(pán)回應給單片機的OxFA信號,接著(zhù)發(fā)送0x00并接收單片機發(fā)送的OxFA應答信號、設置機打延時(shí)和速讀發(fā)送OxF6,接收OxFA應答、檢查小鍵盤(pán)LED指示燈,發(fā)送OxED,接收OxFA,發(fā)送0x07開(kāi)LED指示燈,接收OxFA,發(fā)送0x00關(guān)LED指示燈,接收接收應答信號OxFA。
2 PS/2鍵盤(pán)通訊原理
PS/2接口鍵盤(pán)與主機采用雙向通信方式,鍵盤(pán)可以向主機發(fā)送數據,主機也可以發(fā)送命令給鍵盤(pán)。主機具有最高優(yōu)先權。通信協(xié)議是標準的串行異步通信格式,1位起始位,8位數據位LSB在先,1位奇校驗位,1位停i1位,若為主機發(fā)送狀態(tài),則還有一位應答位ACK、數據格式如圖2所示。
主機同鍵盤(pán)進(jìn)行通信時(shí),無(wú)論發(fā)送還是接收數據,都要依賴(lài)于鍵盤(pán)發(fā)送的時(shí)鐘脈沖,每次數據傳輸發(fā)送11個(gè)時(shí)鐘脈沖,時(shí)鐘頻率為10~16.7kHz,通過(guò)判斷時(shí)鐘脈沖的上升沿和下降沿,逐位發(fā)送或讀取數據位。當數據線(xiàn)DATA和時(shí)鐘線(xiàn)CLK同時(shí)為高電平時(shí),鍵盤(pán)可以發(fā)數據給主機、CLK可用作清除發(fā)送線(xiàn)、如果主機將CLK拉為低電平,則禁止鍵盤(pán)發(fā)送數據,變成將需要發(fā)送的數據放到了發(fā)送緩存區中,直到CLK變?yōu)楦唠娖讲砰_(kāi)始發(fā)送數據。如果主機將DATA拉低,則當鍵盤(pán)檢測到這一變化時(shí),接收來(lái)自主機的命令2、概括如圖3所示。
當鍵盤(pán)發(fā)送數據時(shí),鍵盤(pán)先將DATA拉低,通知主機準備接收數據。鍵盤(pán)在CLK為高電平時(shí)接收數據主機在CLK為低電平時(shí)讀取數據。發(fā)送數據的時(shí)鐘信號由鍵盤(pán)產(chǎn)生、時(shí)序如圖4所示。
為了避免在同一時(shí)刻發(fā)送數據,應將CLK拉低大約100μs以上,以禁止鍵盤(pán)發(fā)送數據、然后主機將數據線(xiàn)DATA拉低,發(fā)送起始位,并釋放CLK高電平,由鍵盤(pán)接管CLK,以產(chǎn)生時(shí)鐘信號、主機在此同步時(shí)鐘信號下發(fā)送數據、鍵盤(pán)接收數據是從檢測到DATA變低開(kāi)始,然后在CLK為高電平時(shí)讀取數據,這與鍵盤(pán)發(fā)送數據時(shí)的情形相反。當主機發(fā)送完校驗位后,釋放數據線(xiàn)DATA停止位。隨后,鍵盤(pán)將DATA置成低電平,作為收到數據的應答信號ACK,并產(chǎn)生一個(gè)周期的時(shí)鐘脈沖、如果在第11個(gè)脈沖后,主機未釋放DATA,鍵盤(pán)將繼續發(fā)送時(shí)鐘信號到DATA空閑。
鍵盤(pán)等待發(fā)送數據時(shí)它首先檢查時(shí)鐘以確認它是否是高電平狀態(tài),如果小是,那么是主機抑制了通訊設備,必須緩沖任何要發(fā)的數據直到重新獲得總線(xiàn)的控制權。鍵盤(pán)有16字節的緩沖區,而緩沖區僅存儲最后一個(gè)要發(fā)送的數據包如果時(shí)鐘線(xiàn)是局電平設備就可以開(kāi)始傳送數據。
3軟件流程圖和主要程序
程序流程圖各個(gè)模塊的作用,系統初始化:系統程序所應用到的寄存器進(jìn)行參數初始化設定,防止寄存器小確定的參數對程序運行造成影響、按鍵模塊:利用中斷消抖而節省消抖所占用的時(shí)間,且按鍵的執行使用Switch語(yǔ)句進(jìn)行散轉,達到多個(gè)參數的設定、EEPROM的讀寫(xiě):將己設定號的參數就行保存,重新上電可以讀出己設定好的參數,防止參數的去失、SPI通訊:讓鍵盤(pán)和控制芯片進(jìn)行通訊、電機驅動(dòng):使用四線(xiàn)兩相步進(jìn)電機控制,程序編寫(xiě)拉局或拉低電平形成脈沖。
應用C語(yǔ)言進(jìn)行程序編寫(xiě),根據寄存器在程序中的使用范圍,定義全局變量和局部變量,合理定義變量節省內存的空間。程序中按鍵的執行使用Switch語(yǔ)句,編寫(xiě)出的程序層次分明、簡(jiǎn)單明朗。EEPROM的讀寫(xiě)保證參數的小會(huì )去失,SPI通訊的應用為控制芯片和PS/2接口鍵盤(pán)搭建了一條數據通道。最后送顯模塊,使用數碼管,程序編寫(xiě)難度低,并起到人機界面交流的作用。
4結束語(yǔ)
繞線(xiàn)機所繞制的產(chǎn)品是經(jīng)常變化的,因此,要根據繞線(xiàn)的匝數和線(xiàn)徑經(jīng)常來(lái)調整繞線(xiàn)機的參數,利用PS/2接II鍵盤(pán)實(shí)現參數的設置,采用SPI的通訊占用的I/O少,通訊協(xié)議可靠簡(jiǎn)單,且PS/2接口小鍵盤(pán)在市場(chǎng)己經(jīng)普及,因此模塊的維護和更換十分方便,價(jià)格低廉。使用該PS/2就接II鍵盤(pán)修改參數簡(jiǎn)單,并在生產(chǎn)過(guò)程中也提高可效益。