BASE_SOC === ###### tags: `Side Project` ## 工作日誌 - [x] 20200907 項目 :::success - 討論系統架構 - 架構原理說明 - 架構可行性評估 - 安裝IDE (ISE、Quartus) - 評估硬體需求以及各自準備器材 - Quartus環境設定 - Darker mode example ::: [Ref. Quartus環境設定](https://www.cnblogs.com/oomusou/archive/2008/07/07/quartus_ii_setting.html) - [x] 20200908 項目 :::success - 完成系統架構規劃,並進行更進一步的討論 - 完成安裝開發工具 (quartus 9.1) - 包含載入並測試基本模組 - 明日各自準備需要的器具(鍵盤、LCD) ::: [Ref. Verilog HDL vs VHDL](https://www.myoschain.com/blog/124092039804485632) - [x] 20200909 項目 :::success - 完成4x4 鍵盤矩陣 verilog code - Ming : 接點補好 Bing : 加上排阻 - 兩邊電路同步 - 研究 I2C FPGA 通訊模式 - [Ref.在FPGA中使用Verilog實現I2C通訊](https://www.itread01.com/content/1550598664.html) ::: [Ref. 高模組化的觸控螢幕控制器的研製](http://ir.lis.nsysu.edu.tw:8080/bitstream/987654321/28573/1) [Ref. IoT Wireless Sensors](https://sites.google.com/site/tgptechnologies/fpga-project/i2c) - [x] 20200910 項目 :::success - 完成 LCD_I2C 在樹梅派上的測試 - 預備研究並實現 LCD_I2C 在樹梅派 - 盡量研究 FPGA OLED 的可行性 - 驅動晶片型號:sh1106 - 目前問題:依照指示顯示之後,只有上1/6螢幕出現閃爍畫面,但是資訊也不正確 ::: - [x] 20200911 項目 :::success - 完成 sh1106 OLED 在樹梅派上的顯示 - 研究 FPGA OLED 的可行性 - sh1106 與 ssd1306 差異在於解析度不同 - There is only one small difference between SSD1306 and SH1106: The SH1106 controller has an internal RAM of 132x64 pixel. The SSD1306 only has 128x64 pixel. - 目前問題:解析程式碼的時候無法得知每一行程式碼的實質用意,因此,查詢了一些關於 I2C_LCD、I2C_OLED的資料 - [Ref1. STM32模拟IIC驱动OLED屏 原理+源码](https://blog.csdn.net/zhangdaxia2/article/details/51027241) - 主要說明I2C的運作原理,以及OLED資料傳送與掃描原理。 - 網頁提供一個滿實用的程式範例,算是可以比較直觀的看到傳輸的procedure。 - [Ref2. 12864点阵液晶显示模块的原理和实例程序(HJ12864M-1)](https://blog.csdn.net/weixin_34051201/article/details/85494292?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-6.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-6.nonecase) - 主要講述LCM顯示的運作原理 - [Ref3. SSD1306(OLED驱动芯片)指令详解](https://blog.csdn.net/notMine/article/details/79317782) - 重點網頁,但由於sh1106資料比較少,先以1306為主 - 主要介紹 SSD1306 系列的晶片如透過 page mode 以及 column mode來對OLED進行掃描顯示, - 傳輸時透過LSB傳輸,搭配 SCL、SDA傳輸 - SCL 皆為高準位,SDA正緣(start)、SDA負緣(end) - 傳輸資料的時候SCL在一個方波內的SDA資料才會被傳出 - RAM訪問模式: - 地址模式:PAGE之間位址不連續,所以跳躍時要特別指定 - <img src=https://img-blog.csdn.net/20180212170945378> - 水平模式:PAGE之間位址是連續的(列地址到尾端時,PAGE_ADD+1) - <img src=https://img-blog.csdn.net/20180212171014811> - 垂直模式:同樣的列地址因PAGE_ADD掃到尾端時,自行+1 - <img src=https://img-blog.csdn.net/20180212171024211> - [Ref5. sh1106 datasheet](https://www.velleman.eu/downloads/29/infosheets/sh1106_datasheet.pdf) ::: - [x] 20200916-項目 :::success - 完成細部的controller <-> memory 的規劃 - 分離 fpga 中LCD module 以及 keyboard module - 目前 LCD module 會隸屬在 memory 中的 machine behavior lookup table 中的 action section - keyboard module 由於透過 controller polling,理論上應該要放在 machine behavior lookup table - 完成 keyboard action 以及專案同步計畫 ::: - [x] 20200917-項目 :::success - LIN 終於完成DEBUG - BING 目前正在處理 key_event 細部問題 - 長短按之間以及每次按的時候的分辨準確性 - 分離 Controller、ALU 以及 Memory 至模組化 - 應該以 BAS_SOC 作為system 的進入點,作為之後system extension 之用 ::: - [x] 20200924-項目 :::success - BIN 找到 keybarod scanning bug - Still find out solution, and its a good progress - 5 bits 掃描技術 - 74922 鍵盤掃描IC - System IP diagram - 再次描述 Controller、Memory、ALU以及DMA之間的關係圖 - 加入 hardware、driver 的鏈結關係 ::: - [x] 20201003-項目 :::success - 完成 controller、driver、hardware wire conneciton - test with a keyboard input & led output - 修正 wire asignee - hardware : 管理所有 component I/O - BASE_SOC : 管理內部硬體的 wire ::: - [x] 20201010-項目 :::success - LIN 完成 eeprom 在 raspberry 上的測試 - 針對 hardware ip diagram 構想 communication structure - 目前使用uart 方式通訊(baud rate 9600, 115200) - 現有的 I2C 模組存在FPGA,但是還未修繕好 ::: - [x] 20201017-項目 :::success - 完成 RFID 在 Arduino 上的辨識實做 - 樹梅派因為 driver 和 gpio version 匹配問題導致無法正常讓 reader 運作 - raspberry 通訊端模組建立準備 ::: - [x] 20201024-項目 :::success - 樹梅派通訊模組 - 使用 char device 作為 kernel driver - 連接端目前規劃 SPI、I2C、UART - ::: - [x] 20201101-項目
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up