前言:
無數晝夜的來回輪替以后,這本《驅動篇I》終於編輯完畢了,筆者真的感動到連鼻涕也流下來。所謂驅動就是認識硬件,還有前期建模。雖然《驅動篇I》的硬件都是我們熟悉的老友記,例如UART,VGA等,但是《驅動篇I》貴就貴在建模技巧的升華,亦即低級建模II。
話說低級建模II,讀過《建模篇》的朋友多少也會面熟幾分,因為它是低級建模的進化形態。許久以前,筆者就有點燃低級建模II的念頭,但是懶惰的性格讓筆者別扭許久。某天,老大忽然說道:“讓咱們大干一場吧! ”。就這樣,Alinx計划開啟,這本《驅動篇I》也成為吉利開紅炮。
《驅動篇I》涉及的硬件可謂是大雜燴,例如經典的流水燈,折磨死人的SDRAM,暴力的SD Card等,內容盡是一些平民硬件。雖然,它們曾在其它教程露臉過,但是結果都卡在一半,處於不上不下那種,說起來還真是不好意思,因為筆者當時年少無知嘛。因此,筆者盡可能為《驅動篇I》補足每一項解釋以及時序。
老實說,《驅動篇I》更加鍾情解釋時序,提高代碼的解讀能力,減少連線,應用通用結構等小細節,古人不是說過什么細節決定成敗。所以說,筆者寧願在細節上加好料,也不要太啰嗦硬件。期間,如果發現什么地方存在忽略,請讀者大人原諒懶惰的筆者。手冊是讀者的好朋友。
在此,筆者需要說聲抱歉。《驅動篇I》是偏向實用性的教程,同時也是綜合性質的教程,多少也會缺少一絲溫柔。因為《驅動篇I》不會一點一滴給大伙解釋,更多僅挑重點而已。入門的同學讀起來可能會覺得痛苦,這種感覺好比一口氣消化幾塊切糕。如果讀者真的痛苦萬分,讀者可以回顧《Verilog HDL那些事兒》系列的教程,它可能更加適合。最后,願大家建模愉快!
目錄:
實驗一:流水燈模塊
實驗二:按鍵模塊① - 消抖
實驗三:按鍵模塊② — 點擊與長點擊
實驗四:按鍵模塊③ — 單擊與雙擊
實驗五:按鍵模塊④ — 點擊,長點擊,雙擊
實驗六:數碼管模塊
實驗七:PS/2模塊① — 鍵盤
實驗八:PS/2模塊② — 鍵盤與組合鍵
實驗九:PS/2模塊③ — 鍵盤與多組合鍵
實驗十:PS/2模塊④ — 普通鼠標
實驗十一:PS/2模塊⑤ — 擴展鼠標
實驗十二:串口模塊① — 發送
實驗十三:串口模塊② — 接收
實驗十四:儲存模塊
實驗十五:FIFO儲存模塊(同步)
實驗十六:IIC儲存模塊
實驗十七:IIC儲存模塊 - FIFO讀寫
實驗十八:SDRAM模塊① — 單字讀寫
實驗十九:SDRAM模塊② — 多字讀寫
實驗二十:SDRAM模塊③ — 頁讀寫 α
實驗二十一:SDRAM模塊④ — 頁讀寫 β
實驗二十二:SDRAM模塊⑤ — FIFO讀寫
實驗二十三:DS1302模塊
實驗二十四:SD卡模塊
實驗二十五:SDHC模塊
實驗二十六:VGA模塊
實驗二十七:TFT模塊 - 顯示
實驗二十八:TFT模塊 - 觸屏
實驗二十九:LCD模塊