spi_lm70llp : LM70-LLP 並口到 SPI 介面卡¶
支援的板/晶片
National Semiconductor LM70 LLP 評估板
- 作者
Kaiwan N Billimoria <kaiwan@designergraphix.com>
描述¶
此驅動程式提供連線 National Semiconductor LM70 LLP 溫度感測器評估板到核心 SPI 核心子系統的膠水程式碼。
這是一個 SPI 主控制器驅動程式。 它可以與 LM70 邏輯驅動程式(“SPI 協議驅動程式”)結合使用(分層在其下)。 實際上,此驅動程式將評估板上的並行埠介面轉換為具有單個裝置的 SPI 匯流排,該裝置將由通用 LM70 驅動程式(drivers/hwmon/lm70.c)驅動。
硬體介面¶
此特定板(LM70EVAL-LLP)的原理圖可在以下位置的第 4 頁找到
LM70 LLP 評估板上的硬體介面如下
並行
LM70 LLP
埠
.
方向
JP2 接頭
D0
2
D1
3
-->
V+ 5
D2
4
-->
V+ 5
D3
5
-->
V+ 5
D4
6
-->
V+ 5
D5
7
-->
nCS 8
D6
8
-->
SCLK 3
D7
9
-->
SI/O 5
GND
25
GND 7
選擇
13
<--
SI/O 1
請注意,由於 LM70 使用 SPI 的“3 線”變體,因此 SI/SO 引腳使用一種排列方式連線到引腳 D7(作為主輸出)和選擇(作為主輸入),該排列方式允許並口或 LM70 將引腳拉低。 這無法與真正的 SPI 裝置共享,但其他 3 線裝置可以共享相同的 SI/SO 引腳。
此驅動程式中的 bitbanger 例程(lm70_txrx)透過其 sysfs 掛鉤從繫結的“hwmon/lm70”協議驅動程式回撥,使用 spi_write_then_read() 呼叫。 它執行模式 0 (SPI/Microwire) 位碰撞。 然後,lm70 驅動程式解釋生成的數字溫度值並透過 sysfs 匯出它。
一個“陷阱”:National Semiconductor 的 LM70 LLP 評估板電路原理圖顯示,來自 LM70 晶片的 SI/O 線連線到電晶體 Q1 的基極(以及一個上拉電阻和一個到 D7 的齊納二極體); 而集電極接地到 VCC。
解釋此電路,當 LM70 SI/O 線為高電平(或三態且未透過 D7 由主機接地)時,電晶體導通並將集電極切換為零,這反映在 DB25 並口聯結器的引腳 13 上。 另一方面,當 SI/O 為低電平(由 LM70 或主機驅動)時,電晶體截止,並且連線到其集電極的電壓以高電平反映在引腳 13 上。
因此:此驅動程式中的 getmiso 內聯例程考慮了這一事實,反轉了在引腳 13 上讀取的值。
感謝¶
David Brownell 對 SPI 端驅動程式開發的指導。
Dr.Craig Hollabaugh 提供的(早期)“手動”位碰撞驅動程式版本。
Nadir Billimoria 提供的幫助解釋電路原理圖。