差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
spi_verilog [2020/07/19 00:37] gongyu |
spi_verilog [2022/06/23 15:04] (当前版本) gongyu [SPI slave - HDL FPGA code] |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ### SPI总线及Verilog实现 | ||
+ | 关于SPI的定义,参见[[SPI]]。 | ||
+ | |||
+ | #### SPI的硬件实现 | ||
+ | |||
+ | #### SPI的软件实现 | ||
+ | |||
SPI 1 - What is SPI? | SPI 1 - What is SPI? | ||
SPI is a simple interface that allows one chip to communicate with one or more other chips. | SPI is a simple interface that allows one chip to communicate with one or more other chips. | ||
行 190: | 行 197: | ||
Now let's see if we can do useful things with SPI. | Now let's see if we can do useful things with SPI. | ||
- | ### SPI 3 - Application | + | #### SPI的应用举例 - 驱动LCD |
- | #### LCD interface | + | |
Since we already know how to drive a graphic LCD panel, in particular in text mode, let's try to write text out from the LPC. | Since we already know how to drive a graphic LCD panel, in particular in text mode, let's try to write text out from the LPC. | ||
行 231: | 行 238: | ||
- | <wavedrom> | + | Github上分享的一个用SPI驱动SSD1306 OLED屏幕的项目参考代码: |
- | { "signal" : [ | + | * [[spi_master|SPI Master Verilog代码]] |
- | { "name": "clk", "wave": "p.....|..." }, | + | * [[ssd1306_verilog|OLED控制器SSD1306的控制逻辑]] |
- | { "name": "Data", "wave": "x.345x|=.x", "data": ["head", "body", "tail", "data"] }, | + | |
- | { "name": "Request", "wave": "0.1..0|1.0" }, | + | |
- | {}, | + | #### 相关资料 |
- | { "name": "Acknowledge", "wave": "1.....|01." } | + | {{http://ww1.microchip.com/downloads/en/devicedoc/spi.pdf|Microchip关于SPI的PPT}} |
- | ]} | + | |
- | </wavedrom> | + |