《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

《三極管應用分析精粹》(以下簡稱“三極管”)完成交稿之後,自然是開始下一本圖書的構思了,想來想去還是決定寫一本關於“顯示器件”的圖書(另一本考慮的是“存儲器件”,由於找不到較好的輔助工具而暫緩),它主要關注LED(數碼管,點陣)、VFD、TN-LCD、TFT-LCD、OLED、EPD(墨水屏)等顯示器件相關的硬件電路設計與驅動程序的編寫,暫時定名為《顯示器件應用分析精粹》(以下簡稱“顯示器件”)。


《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

有人可能會說:蝦米?我沒看錯吧?大兄弟你這是要寫程序嗎?行不行呀!不行可千萬別勉強呀!老話說得好,不想當廚子的裁縫不是好醫生,不好意思,說錯了,不想當將軍的士兵不是好士兵,一個不懂(與硬件緊密相關的)軟件的硬件工程師是說不過去的,更何況嚴格來說,使用單片機編寫顯示器件的驅動程序還算不上真正的軟件,重點還在於對硬件電路(包括外圍器件、控制芯片通訊接口時序及內部寄存器等)的深入理解。

《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

有人可能又會說:你咋不繼續寫其它的呀,例如《運放》《電感》。你沒寫過書是不知道寫書的辛苦,像《三極管》《運放》這類原理性非常強且系統的技術類圖書寫作要求精力非常集中,即使參數標記字母的大小寫都要再三考慮。《三極管》總字數22萬,來來回回總共看過不下10遍,有時候正著看,有時候從結尾章節反過來往回看(因為很多地方像“破案”一樣連續性非常強,而且前後是有關聯的),而撰寫《顯示器件》相對會輕鬆一些,只要結果正確,在心力上的消耗不會太大。另一方面,也想預留一段時間觀察讀者對《三極管》的反應,雖然我對圖書的定位還算比較清晰,但人力有時而窮,讀者的意見是非常重要的,所以也會關注讀者對已出版圖書的評價(後述)。

《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

當然,所謂的輕鬆只是相對的,由於工程應用性極強,要寫好這本書也真的不容易,關鍵的問題還是:如何組織全書?像其它書那樣,介紹一下器件原理,貼個電路,再掛個代碼說明一下?這跟開發板配套手冊有什麼區別?以這種態度寫書的作家跟鹹魚有什麼區別?《顯示器件》的主要特點如下:

1、這是一本關於硬件電路設計的圖書!《顯示器件》講述的內容包括軟件編程嗎?那是肯定的!但本書主要目的還在於深入討論硬件電路的工作原理及相關設計。我們會詳細講解怎麼樣通過精讀數據手冊來設計各種的硬件電路以及驅動程序,你將能夠深入理解各種控制芯片的工作原理及驅動方式。電路為什麼要這麼設計呢?器件的參數又是如何確定的呢?為什麼跟典型應用電路有些不一樣呢?即使一個簡單的限流電阻取值範圍,我們也可以告訴你:答案就在數據手冊中!(其實我都用不著寫什麼書了,看數據手冊就行了,麼麼噠)。看完此書,即便你在設計與顯示器件無關的其它芯片電路也是非常有幫助的。

《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

2、數據手冊是著力點。我認為每一位工程師理應保持一種習慣:遇到問題應該儘量從數據手冊(或標準、規範、幫助文檔)中尋找答案,尤其當你在網上找不到答案時。因為精華都在那裡,也許有些文檔的可讀性並不是很強,但它們才是真正的解決問題之道。

例如,在《電容應用分析精粹》(以下簡稱“電容”)一書中多次提到各種國內外標準,不少讀者(尤其是沒有工作經驗的)會覺得沒啥用處,不知道扯這些東西幹嘛,認為是湊頁數的。由於缺乏工作經驗,他們並不知道(也無法區分)什麼重要什麼不重要,以為與高頻、高速、機器人、無人機、AI等看似“高大上”的內容掛鉤才是有技術含量的,對於看似基礎實則本源的知識卻連看都不想看,也不會(也無法)去思考(此之謂“眼高手低”)。

但是網絡上很多所謂的經驗或精華就是從標準(或規範、幫助文檔)中摘錄或引申而來,如果你總是熱衷於閱讀別人加工過的東東(當然,可讀性也許會好一些),而不是下意識地去尋找這個根源,那麼你的水平永遠比別人差一個層次,因為你拿到手的總是二手或N手貨。數十年後,你會發現只瞭解那些“高大上”技術的表象,或會拽一些所謂前沿科技的術語賺點虛榮,其實卻根本沒什麼真正可以拿得出手的絕活(混口飯吃而已),屆時悔之晚矣,意欲重拾基礎再造傳奇?然廉頗老矣,尚能飯否?萬丈高樓平地起,古人誠不欺我!

《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

3、重點在於驅動而非應用。用LCD顯示屏做一個萬年曆吧!這裡說的萬年曆就是一個具體應用,但本書並不關注這些。《顯示器件》中有一些關於51單片機開發的簡單介紹,並且會使用Proteus與Keil軟件平臺。當然,重點都不在這裡,51單片機只會使用順序編程法(中斷會避免使用到,這樣可以讓讀者集中精力瞭解各種顯示器件的工作原理,最大限度降低對開發平臺的依賴性),Proteus只會截仿真電路,Keil只會截代碼,不會涉及到軟件平臺的具體操作。個人對撰寫某種平臺的圖書並不太感興趣,那樣的書總是會過時的,我把它們當作工具來為我的圖書服務,只會寫那種最基礎或最原理性的東西,這些內容在可預計的將來不會那麼容易過時。換句話說,即使你沒有使用過它們(51單片機、Proteus、Keil),也絲毫不妨礙你理解顯示器件的工作原理,只要你對各類顯示器件相關的硬件電路與驅動程序設計感興趣,它對你總是非常適合的。

《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

4、本書包括市面上主流的顯示器件。為了圖書的系統與完整性,我會去製作一些Proteus器件庫中沒有的仿真元件,例如VFD、OLED、EPD顯示屏。下圖是16X2 VFD(HD16514)

《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計


下圖為0.96(128*64)英寸藍色OLED(SSD1306)

《顯示器件應用分析精粹》構思,從硬件電路到驅動程序設計

這兩個圖只是DEMO,有些命令還沒有實現(用來寫書是足夠的)。EPD驅動芯片的資料比較少,現在就找到國產(IL0373)與臺產(HX8705)兩個,還在考慮使用哪個芯片去製作仿真器件。另外,我還在考慮是否將Proteus元器件的製作過程寫進書裡,或直接寫文章發表在公眾號裡,等書寫得差不多時再來決定。

我希望我寫的圖書是用來讀而不是查的!很多圖書看起來那麼厚,但是沒用的廢話講那麼一大堆,真正對自己有用的乾貨卻沒有多少,然後你會發現圖書裡可能就只有那麼幾個地方值得參考一下(或許還是直接參考別人書裡的)。這樣的圖書有什麼意義嗎?所以我寫的書一般不講什麼歷史呀介紹什麼的(除非實在有必要),一來就直接步入正題,畢竟讀者花錢不是來看我講那麼多廢話的。

在寫書的過程中,我總是習慣性地站在讀者的角度去思考:讀者是否能夠容易看懂?這個概念是第一次出現嗎?第一次講述這個概念的方式容易理解嗎?這幾部分的內容講解次序調整一下會不會更好一些?讀者會覺得枯燥麼?……正因為考慮這麼多,所以我寫的書看似很基礎。例如,某東上有讀者是這樣評價《電容》的:這本書很基礎很適合初學者。這我就放心了!我不需要你產生“這本書的作者肯定是位大牛”的感覺,這對我沒有任何意義,只希望你能看懂書裡寫的是什麼。

也有少數讀者因為圖書很基礎而認為不是很理想的,做出這樣評價的讀者應該是剛(未)畢業的學生,因為很多內容就算有著多年工作經驗的工程師都不一定真正理解,而你看這本書時,我已經將諸多看似“高大上”的紙都捅破了。換句話說,現階段的你並沒有意識到,看完這本書後的你已經比別人站在更高的層面了,或者說,有著豐富工作經驗的讀者更容易看到本書中大有裨益之處(王婆賣瓜一下下,不要打我)

當然,一本能夠令所有人都滿意的圖書是不存在的。有一位讀者這樣評價:關鍵這書看了也不知道在講些什麼。扯了一堆沒有用的東西。我這裡只能回覆:此書並不適合你!

還有一位讀者這樣評價:寫的書像微信聊天似的,完全口語化,作者是從事硬件行業的?專業嚴謹,這是這個行業從事人員的基本態度,難道也不懂?我這裡只能回覆:口語化跟專業嚴謹與否之間並沒有因果關係,使用純書面語去描述同一個問題對我來說絕非難事,但我並不想這麼做。

寫一本讓讀者看不懂(也就是讓你覺得滿滿的高逼格)的書實在不要太容易,但寫一本讓讀者看得懂且並不膚淺的書實在是太難了。有些讀者甚至會有這樣的“經驗”:這本書這裡看不懂,應該是精華,得多看幾遍。或許我可以這樣理解:這本書裡面好多內容我看不懂,這樣才是好書嘛,不然我學什麼。看不懂的內容確實可能會是精華,更有可能作者根本就沒打算(或沒下心思)讓你看懂。然而事實是:在基礎知識面前,精華什麼的說法都是浮雲。或者說,別人認為的精華,在你看來卻理所應當。


分享到:


相關文章: