EDA365电子论坛网

标题: linux学习之路_or1200下linux的i2c(一) [打印本页]

作者: mutougeda    时间: 2021-8-5 10:09
标题: linux学习之路_or1200下linux的i2c(一)
本帖最后由 mutougeda 于 2021-8-5 10:14 编辑 - L. c8 u/ w6 M  z

3 E# p5 b4 F8 y( @# G这篇 blog 介绍 I2C 的学习了,首先要在我们的 or1200_soc 上添加进来 I2C Controller ,到 opencores 社区上面找到 i2c_latest.tar.gz 这个工程包。
9 k" ?  x/ ]# P% G        解压得到如下文件目录:9 P. i, C4 _9 g
% S) o) C) k, f
( S* ^" @6 T( `( V, I

# z0 S) u$ s; A, Z( ^
, L' ~# \: s5 E) O' S$ {: y: @/ w        注意啦,这里的i2c_top.v的顶层文件需要自己编写,因为需要在工程的更顶层将i2c_master_top.v里的输入输出信号组织成三态信号。
' s/ ?/ ?! S3 A7 m8 \% z! _# {' f4 s/ G# C, f: O
4 }( y. R4 q( O; z" }/ A
/ |- f/ D6 M! I$ M7 j& C; f

4 g" i$ i3 c+ T# a8 d* l7 W        详细可以看看在改工程目录下的/doc说明文档,当中有改ipcore的使用说明。/ o  b6 g8 y' |! j$ [" a! {# }
3 x! {) s  H% c
        接着在or1200_soc中例化改ipcore,然后添加到wishbone总线上,再定义好使用的中断号。
# N, t* f) h9 B4 t! G8 E
, O9 S% ~7 i1 d3 O* M5 t/ S        例化代码:% W: [7 M+ z9 F9 M
, H. U7 E$ P2 C

1 S9 K$ M! a9 l( o6 b" d
4 v6 B' G; ~9 V' u, Z* N+ L        中断号和地址:* ?9 B" a$ F% r4 L1 A/ c/ x
5 \; F0 B+ Y8 {6 g! R
4 D1 Y  o% ]  {' J9 q

& Q! N  t$ @% W. K9 y
+ n( E( \3 y$ _0 H/ K4 x' ~$ P        添加到wishbone总线:
) l) D. v1 J- \1 _2 q) y7 o+ R
# U1 s' }- ^5 l+ E5 F$ L$ N% R. \) n. B

; ^( J' D7 I# F4 o# T
8 k# E  I3 R) I) v% F: K6 I# G) f1 ^* Y% a/ \7 |  U  o
        OK,synthesize之,注意稍微看看时序够不够即可。. j$ o+ S: C4 |7 O# c8 j9 v/ t) A

& K9 g7 e  q) D$ b
# C, G7 H; `; c6 W9 ?
作者: Hello_Mr.li    时间: 2021-8-5 14:16
or1200下linux的i2c
作者: younicp    时间: 2021-8-5 18:52
or1200下linux的i2c
作者: Lindberge4    时间: 2021-8-5 18:53
or1200下linux的i2c




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2