CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 28063|回复: 18

CB扩展板改型,第二版

[复制链接]
发表于 2014-8-25 10:26:29 | 显示全部楼层 |阅读模式
本帖最后由 ahha007 于 2014-8-26 04:51 编辑

在之前做的扩展板上做了一些改进,更加方便连接3.5硬盘了,丝印进行了些修改,这是之前的扩展板的帖子:http://forum.cubietech.com/forum.php?mod=viewthread&tid=3144
现在修改了下,下面是连接3.5寸硬盘和485通信的图,分享一下

大家对智能家居有兴趣了同志们,加这个群QQ249905144,我们一起来努力,让我们对技术的追求变成一种享受。


本扩展板的电路,及测试程序和方法我都共享到CB论坛和QQ群了,可以关注论坛和加上面的QQ群,后期有什么进步都会第一时间共享,望大家一起关注


这块扩展板我已做出一些,望大家支持,后期我还会继续深入开发

我还做了块继电器扩展板板型与CB1和CB2安装位相同,可以很容易安装到一起
继电器扩展板的链接:http://item.taobao.com/item.htm?spm=686.1000925.1000774.13.plrlo1&id=40680088523

整体图

整体图

和CB连接后的图

和CB连接后的图

连接3.5寸硬盘

连接3.5寸硬盘

连接3.5寸硬盘

连接3.5寸硬盘
挂载硬盘截图.jpg

485输出连接

485输出连接
485发送接收截图.jpg
回复

使用道具 举报

发表于 2014-8-25 10:44:50 | 显示全部楼层
非常厉害~~
回复 支持 反对

使用道具 举报

发表于 2014-8-25 15:16:17 | 显示全部楼层
路过
回复 支持 反对

使用道具 举报

发表于 2014-8-25 23:12:50 | 显示全部楼层
牛B,支持支持
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-26 10:11:01 | 显示全部楼层

分享一些资料

本帖最后由 XKP 于 2014-8-26 10:43 编辑

附件上是电路图


修改为VGA输出的方式,见帖子:
http://forum.cubietech.com/forum.php?mod=viewthread&tid=635&highlight=VGA
修改好后,就可以使用扩展板上的VGA输出了

这是调试硬件RTC的方法:
扩展板上有一个硬件RTC,下面为我自己的操作来读取时间数据
我使用的是cubain镜像,下载地址:http://cn.cubian.org/downloads/
安装以下工具:
apt-get install i2c-tools
对于i2c-tools工具的使用可以在网上查询一下,很多资料
因为RTC是使用DS1307,使用的I2C总线

一、I2C设备查询
    若总线上挂载I2C从设备,可通过i2cdetect扫描某个I2C总线上的所有设备。可通过控制台输入i2cdetect -y 1,结果如下所示。
如果接线正确一般会出现(看68就好了)
1.      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
2. 00:          -- -- -- -- -- -- -- -- -- ---- -- --
3. 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
4. 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
5. 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
6. 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
7. 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
8. 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
9. 70: -- -- -- -- -- -- -- --

说明1:-y为一个可选参数,如果有-y参数的存在则会有一个用户交互过程,意思是希望用户停止使用该I2C总线。如果写入该参数,则没有这个交互过程,一般该参数在脚本中使用。
说明2:此处I2C总线共挂载一个设备——DS1307,从机地址0x68为DS1307


二、寄存器内容导出
通过i2cdump指令可导出I2C设备中的所有寄存器内容,例如输入i2cdump -y 1 0x68,可获得以下内容:



root@Cubian:/home/cubie# i2cdump -y 1 0x68
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 40 30 10 02 26 08 14 91 df bd d5 7e fe 9f 76 d9    @0??&??????~??v?
10: bd f7 bf ec fd 9d fe 3f de 3d cf 54 1d ff e5 7f    ?????????=?T?.??
20: f9 d3 1c db d2 a1 8b 47 99 0d 02 89 55 c4 c7 75    ???????G????U??u
30: 4c 5a a5 12 a2 35 02 3a 1f 6a e6 e0 c9 34 d9 43    LZ???5?:?j???4?C
40: 40 30 10 02 26 08 14 91 df bd d5 7e fe 9f 76 d9    @0??&??????~??v?
50: bd f7 bf ec fd 9d fe 3f de 3d cf 54 1d ff e5 7f    ?????????=?T?.??
60: f9 d3 1c db d2 a1 8b 47 99 0d 02 89 55 c4 c7 75    ???????G????U??u
70: 4c 5a a5 12 a2 35 02 3a 1f 6a e6 e0 c9 34 d9 43    LZ???5?:?j???4?C
80: 40 30 10 02 26 08 14 91 df bd d5 7e fe 9f 76 d9    @0??&??????~??v?
90: bd f7 bf ec fd 9d fe 3f de 3d cf 54 1d ff e5 7f    ?????????=?T?.??
a0: f9 d3 1c db d2 a1 8b 47 99 0d 02 89 55 c4 c7 75    ???????G????U??u
b0: 4c 5a a5 12 a2 35 02 3a 1f 6a e6 e0 c9 34 d9 43    LZ???5?:?j???4?C
c0: 40 30 10 02 26 08 14 91 df bd d5 7e fe 9f 76 d9    @0??&??????~??v?
d0: bd f7 bf ec fd 9d fe 3f de 3d cf 54 1d ff e5 7f    ?????????=?T?.??
e0: f9 d3 1c db d2 a1 8b 47 99 0d 02 89 55 c4 c7 75    ???????G????U??u
f0: 4c 5a a5 12 a2 35 02 3a 1f 6a e6 e0 c9 34 d9 43    LZ???5?:?j???4?C
root@Cubian:/home/cubie#


主要看前面的00~06地址的数据,对应的含义请下载DS1307的数据手册查看(这个我已经修改了,要是新的芯片,00地址上的数据为0x80,原因:00h  地址的第  7  位为器件时钟允许位(CH),此位为  1 则芯片未开始工作,即时钟未走时,所以在上电时单片机要先读出秒,并判断位  7(CH)是否为1,如为  1 要把该位清零写入秒寄存器(地址为  0 ), 并把其他的时间单元设定为默认值。  如果上电复位时读出的秒的最高位  CH  为  0,说明时钟已工作(前已对  CH清  0,且停电  后有备用电池),此时不能重写时间单元),现在显示的时间为:14年8月26日星期210时30分40秒

三、寄存器内容写入
    如果向I2C设备中写入某字节,可输入指令i2cset -y 1 0x68 0x00 0x01
    -y       代表曲线用户交互过程,直接执行指令
    1        代表I2C总线编号
    0x68   代表I2C设备地址,0x68为DS1307的地址
    0x00   代表存储器地址
    0x01  代表存储器地址中的具体内容

通过这个指令可以设置DS1307的时间数据

此扩展板上的RTC使用了超级电容为RTC供电保持数据,CB断电后RTC的时间数据也不会错误


485输出的测试:
先要修改script.bin文件,使其支持,具体参考:
http://forum.cubietech.com/forum.php?mod=viewthread&tid=2742&highlight=UART
我使用的是cubian的镜像
修改好后
输入 dmesg | grep tty
root@Cubian:/home/cubie# dmesg | grep tty
[   0.000000] Kernel command line: console=tty0 root=/dev/mmcblk0p1 rootwaitloglevel=8 panic=10 console=ttyS0,115200 hdmi.audio=EDID:0disp.screen0_output_mode=EDID:1280x800p60 panic=10 consoleblank=0 fb0_framebuffer_num=3sunxi_fb_mem_reserve=11
[   0.000000] console [tty0] enabled
[   1.520104] sunxi-uart.0: ttyS0 at MMIO 0x1c28000 (irq = 33) is aU6_16550A
[   2.357652] console [ttyS0] enabled
[   2.397821] sunxi-uart.3: ttyS1 at MMIO 0x1c28c00 (irq = 36) is aU6_16550A
[   2.441418] sunxi-uart.4: ttyS2 at MMIO 0x1c29000 (irq = 49) is aU6_16550A

可以知道
ttyS1uart3
ttyS2uart4

从电路图上可以看到,uart4是和zigbee进行通信的,uart3是485电路

看串口資訊: stty -F /dev/ttyS1
root@Cubian:/home/cubie# stty -F /dev/ttyS1
speed 9600 baud; line = 0;
-brkint -imaxbel
-echo


加入echo功能 :stty -F /dev/ttyS1 -echo
root@Cubian:/home/cubie# stty -F /dev/ttyS1 –echo


发送:
root@Cubian:/home/cubie# echo"aaa" > /dev/ttyS1


如第一帖的图片,测试电路接好后,按这些操作,就会有截图的效果了,uart4的测试放入相同


附件里面有修改后的script.bin文件,修改了VGA输出和uart3和uart4

电路图.rar

51.54 KB, 下载次数: 11, 下载积分: 金钱 -1

script.rar

7.87 KB, 下载次数: 7, 下载积分: 金钱 -1

回复 支持 反对

使用道具 举报

发表于 2014-8-26 13:55:52 | 显示全部楼层
这种广告必须支持!
回复 支持 反对

使用道具 举报

发表于 2014-8-26 23:54:39 | 显示全部楼层
支持下,智能家居如果以有线方式发展,我个人认为估计是不可行的,因为要在现有的房间布线,跑485是不现实的,没人愿意这样做!zigbee的无线模式,是一大方向。只是芯片成本高,这个需要时间,来改变。人类生活方式,最终是什么样子,没有人能知道,但是我们愿意做这个推动者,让我们一起努力,来改变这一切
回复 支持 反对

使用道具 举报

发表于 2014-8-27 10:44:52 | 显示全部楼层
支持下!!
回复 支持 反对

使用道具 举报

发表于 2014-8-27 11:27:14 | 显示全部楼层
必须支持!
回复 支持 反对

使用道具 举报

发表于 2014-8-27 19:04:10 | 显示全部楼层
论坛有你更精彩
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-22 20:03 , Processed in 0.028063 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部