資料介紹
描述
今年世界著名的555定時器IC迎來50周年!從那時起,IC 發(fā)生了很多事情,但 555 定時器 IC 仍然有其追隨者。大多數(shù)設計人員都知道,如果您需要一個計時器用于必須節(jié)省電力的項目,現(xiàn)在您可以購買經(jīng)典 555 計時器的 CMOS 版本。然而,似乎沒有多少人知道CSS555計時器。這款 IC 在很多方面都非常特別。首先,它僅使用其他低功率CMOS 555 IC(例如TLC555)使用的功率的1/10。其次,CSS555 有一個內(nèi)置的 EEPROM,允許您對其進行編程,以將延遲時間乘以 1(標準 555)到 100 萬倍。這太棒了,因為 555 定時器的長時間延遲總是需要使用非常大的電解電容器。因此,使用 CSS555,您可以跳過它并堅持使用數(shù)量級更小的陶瓷電容器。這樣可以節(jié)省空間并使電路總體上更可靠。看看下圖中的兩個電容器。左邊是10uF陶瓷電容,右邊是1000uF電解電容。使用普通的 555 定時器(例如 NE555 或 TLC555)并使用相同的延時電阻,較大的電解電容器會產(chǎn)生比小得多的陶瓷電容器產(chǎn)生的延遲長 100 倍的時間延遲。但是,使用 CSS555 計時器,您可以將其編程為具有 1、000、000 的乘法因子。如果這樣做,則意味著您可以從較小的陶瓷電容器中獲得時間延遲,該時間延遲比較大的電容器使用常規(guī) 555 計時器所提供的時間長 10, 000 (!)....
除了 CSS555 定時器外,還有一個 CSS555C 定時器,它還具有一個內(nèi)置電容器,您可以將其值編程為 (85-115 pF)。這將使您可以輕松地微調(diào)電路!簡而言之,如果您要設計需要定時器并依靠電池供電長時間運行的電路,那么 CSS555/CSS555C 定時器值得一看。
基于 Arduino 的 EEPROM 編程器
雖然很高興能夠在 CSS555/CSS555C 中對內(nèi)部 EEPROM 進行編程,但您還需要一些東西來對其進行編程。您過去可以為這些 IC 購買一個編程器(EZ-programmer ),但在本文中,我將向您展示一種使用 Arduino 對這些 IC 進行編程的簡單方法。我應該提到我的程序的一部分是基于我在網(wǎng)上找到的由 Ron Spooner 編寫的代碼。謝謝羅恩!!但是,我的代碼有一些關鍵的時間差異,它擴展了功能,還包括驗證功能。這樣,您就知道在將已編程的 CSS555/CSS555C 插入電路之前編程進行得很順利。
對于這個 EEPROM 項目,我選擇了基于 I2C OLED 顯示器和 4x4 鍵盤的用戶界面。我還包括一個控制 CSS555/CSS555C 電源的功能,這樣您就可以在不關閉 Arduino 電源的情況下熱插拔 CSS55/CSS555C。因此,我必須在這個項目中使用 Arduino Mega,因為 Uno 和 Nano 都缺少我們需要的數(shù)字引腳數(shù)量(需要 1 個額外的引腳)。
除了 Arduino Mega、OLED 顯示屏和鍵盤外,該項目還使用了兩個晶體管(2N2222 和 2N2907)、兩個 510 歐姆電阻、一個 5.1K 電阻和一個綠色 LED。LED 指示 555 的電源何時打開,這在讀/寫操作期間是短暫的。當 LED 熄滅時,可以安全地移除 CSS555/CSS555C。

如何使用 EEPROM 編程器
程序員正在使用一組菜單,允許您設置 CSS555 和 CSS555C IC 中的所有參數(shù)。此外,它還允許您設置外部參數(shù)(Ra、Rb、Cx),它會根據(jù)設置自動計算延遲時間。此外,每次寫入 EEPROM 時,設置都會存儲在 Arduino 內(nèi)部,并在下次啟動 Arduino 時調(diào)用。這將使您不必重新輸入您通常使用的所有值。
當您使用編程器時,以下按鍵具有特殊功能:
A) 進入主菜單
B) 跳到下一個子類別
C) 增加顯示的值
D) 減少顯示的值
7) 大幅減少顯示的值
9) 大幅增加顯示的值
#) 寫入 EEPROM


外部參數(shù)(Ra、Rb 和 Cx)選自 E6 系列。電阻器以 Kohm 為單位,其值可以在 100K-10M 范圍內(nèi)。電容以 pF 為單位,值在 10pF-10nF 范圍內(nèi)。如果不使用外部電容,它也可以設置為零。但請注意,軟件會自動將內(nèi)部寄生電容 (26 pF) 考慮在內(nèi),以進行所有計算。這個寄生值是通過一系列實驗發(fā)現(xiàn)的。
內(nèi)部電容(僅限 CSS555C)可以在 85pF 和 115pF 之間設置,增量約為 0.1pF(8 位,256 級,30pF 范圍)。

仔細查看 EEPROM 信號和時序
完全配置 CSS555/CSS555C 只需要兩個字節(jié)(配置字節(jié)和電容字節(jié))。雖然這聽起來很容易,但我很快發(fā)現(xiàn)這很困難。這主要是由于該 IC 的文檔(舊版本)中存在與時序相關的錯字。但在制造商的幫助下,通過使用示波器查看信號,我終于弄清楚了如何讓這一切正常工作。因此,我想我可以在這里分享我的發(fā)現(xiàn),因為它可能會為那些對這些計時器感興趣的人提供一些關于協(xié)議的信息。
對于您將設置或讀取的每個字節(jié)(配置字節(jié)和電容字節(jié)),與 CSS555/CSS555C 的通信是一個兩步過程。首先,您發(fā)送一個命令字節(jié),指示您想要做什么(設置或讀取以及您引用的字節(jié)),然后您發(fā)送字節(jié)或從 CSS555/CSS555C 讀回一個字節(jié)。
在 CSS555/CSS555C 上設置一個字節(jié)
在下面的圖 1a 中,我展示了當我們發(fā)送命令字節(jié) 0001-0010 然后發(fā)送配置字節(jié) 0000-1011 時信號的樣子。這里要注意的重要一點是,觸發(fā)發(fā)生在命令字節(jié)的時鐘脈沖的上升沿(低到高)和配置字節(jié)的下降沿(高到低)!我在圖中用垂直線標記了觸發(fā)點。還應該指出的是,在與 EEPROM 通信時,所有位都以相反的順序發(fā)送(LSB 在前)。

從 CSS555/CSS555C 讀取一個字節(jié)
當我們想從 CSS555/CSS555C 讀取一個字節(jié)時,我們首先必須發(fā)送一個指示我們想要做什么的命令,然后監(jiān)聽來自 CSS555/CSS555C 的字節(jié)。在下面的圖 1b 中,我展示了當我們發(fā)送命令字節(jié) 0001-0001 然后讀回字節(jié) 0000-1011 時,該相位在示波器上的樣子。和以前一樣,請注意,發(fā)送命令字節(jié)時觸發(fā)發(fā)生在時鐘脈沖的上升沿(低到高),而從 CSS555/CSS555C 讀取字節(jié)時,觸發(fā)發(fā)生在時鐘脈沖的下降沿(高到低)。

最后的想法
在這個項目中,我們展示了如何輕松地為 CSS555/CSS55C 定時器 IC 制作基于 Arduino 的 EEPROM 編程器。兩個定時器的區(qū)別在于 C 版本還包括一個可編程電容器,該電容器的值可以設置為 85 到 115 pF。
然而,在我對這兩個版本的實驗中,我發(fā)現(xiàn)了一些非常有趣的東西。在我的設置中,CSS555 版本的 IC 實際上具有大約 26 pF 的內(nèi)部寄生電容。但是您為 C 版本編寫的值包括此值!因此,實際上 C 版本中的可編程電容可以取 59 到 89 pF 的值,因為內(nèi)部 26 pF(常數(shù))被添加到該值。這并不重要,但值得指出的是,您為 C 版 IC 設置的電容是包括內(nèi)部寄生電容在內(nèi)的總電容。
最后,是什么讓這些計時器如此出色?就我而言,我在控制基于 Arduino Nano 的項目的電源的電路中使用 CSS555/CSS555C。這樣該項目可以在標準 9V 電池上運行多年(!!!)...在下面的圖 2 中是我的臺式萬用表的屏幕轉儲,顯示了 9V 電池在睡眠周期期間的總電流消耗為我基于 Arduino Nano 的項目提供動力:8.55uA!

是的,您可以使用更適合的微控制器以及代碼中的各種或多或少的高級睡眠模式來實現(xiàn)類似甚至更好的結果。但我想要一種簡單的方法來在使用 9V 電池長時間運行的項目中使用我的標準 Arduino Nano 或 Uno。在 CSS555/CSS555C 的幫助下,這很容易實現(xiàn)。所有這些都沒有帶有睡眠模式或拆焊不必要組件的單行代碼!
問題或意見?請隨時通過abaruk*@gmx.com與我聯(lián)系(將地址中的“b”替換為字母 m,將星號替換為數(shù)字 1)。
更新 1
我現(xiàn)在已經(jīng)使用這個基于 Arduino 的 EEPROM 編程器大約兩個月了。在這段時間里,我可能已經(jīng)對一百多個 CSS555 和 CSS555C IC 進行了編程,并且編程過程每次都有效!嗯,這并不完全正確......它實際上讓我失敗了一次,但那是因為我把 CSS555 放在了錯誤的方式(顛倒)......令我驚訝的是,這個愚蠢的操作錯誤并沒有導致 CSS555 爆炸向上!不,在我以正確的方式放置相同的 CSS555 后,我可以成功地對其進行編程!

更新 2
經(jīng)過幾個月的使用,我決定根據(jù)這個設計設計一個定制的 PCB。我將 PCB 設計為 Arduino MEGA 的屏蔽層。下面是一些顯示結果的圖片。

?

?

?

?
- ATtiny85供電高壓AVR編程器開源
- Arduino串口編程器CH340N開源分享
- ATmega EEPROM編程器案例
- 微型高壓串行編程器開源分享
- AVR高壓并行編程器開源分享
- 串行PiC編程器開源項目
- AVR HV2高壓編程器開源手冊
- USB編程器開源項目
- ABB-PIC工業(yè)編程器編程手冊AC500 2次下載
- 通用串行EEPROM編程器使用操作說明 95次下載
- SUPERPRO/V編程器
- Superpro/L+ 編程器
- Superpro/Z 編程器
- RF-810編程器
- Superpro/GX編程器軟件
- 邁來芯PTC-04編程器產(chǎn)品介紹 968次閱讀
- 可編程器件的特點和發(fā)展歷程 915次閱讀
- 推薦十大開源的靜態(tài)網(wǎng)站生成工具,無須掌握HTML和CSS技能 1.2w次閱讀
- dfrobotXSP-Arduino二合一編程器簡介 1681次閱讀
- 單片機編程器是什么_單片機編程器應用 1.6w次閱讀
- 關于PLC存儲很重要的編程器和通信接口 1751次閱讀
- 新的磁傳感器編程器MSP V1.0,完整的編程工具 3889次閱讀
- P800系列編程器設計規(guī)則介紹 1708次閱讀
- 單片機的編程器和燒錄器有什么區(qū)別 3.5w次閱讀
- 歐姆龍手持編程器使用說明 1.8w次閱讀
- 編程器固件和路由器固件什么不同 2.5w次閱讀
- 編程器怎么用_編程器的使用方法 7w次閱讀
- 基于MSP430單片機編程器的設計 6873次閱讀
- 單片機編程器作用及功能解析 1.4w次閱讀
- MCU編程器正確應用才會輕易把MCU編寫壞 2994次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論