搜索
bottom↓
回复: 21

采用ATMEGA48的DMX512解码器,终于搞定了,发贴庆祝一下

[复制链接]

出0入0汤圆

发表于 2007-7-17 10:49:07 | 显示全部楼层 |阅读模式
在网上搜到的DMX512都是英文的,看的很吃力,最近要做这个洗墙灯,硬着头皮上,结果原来只是一个串行传输协议而已,一连传送n个数据(n<512),解码器接受到这些数据后,再判断做出相应的动作。





阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2007-7-17 12:02:47 | 显示全部楼层
恭喜!

你的地址是用键盘输入吗?

一块板可带几个灯?

接收全部用中断还是检测到BREAK后才开中断?

出0入0汤圆

 楼主| 发表于 2007-7-17 12:31:56 | 显示全部楼层
对,上面有三个按键UP DOWN OK就是用来输入地址的。

一块板是按12通道设计的。每个通道的数据处理后,送下位机执行。

接收全部用中断,而且带信号反极性检测功能。本来想采用检测到BREAK后才开中断的,这样太耗资源,所以直接全部用中断,调试时用数码管显示采集到的数据,很稳定,从来没有接受错误的现象。

与下位机的通讯就麻烦了,因为MEGA48的引脚资源用光了,只有自己编了一个三线的串行传输协议,呵呵,下次再做,用MEGA16,这样就可以用SPI通讯了,比较通用。

出0入0汤圆

发表于 2007-7-17 13:53:58 | 显示全部楼层
你的板没有用晶振,250KBPS搞得准吗?

信号反极性检测是什么意思?

出0入0汤圆

发表于 2007-7-18 08:40:21 | 显示全部楼层
楼主不是用MEGA48直接控制LED吗?

出0入0汤圆

发表于 2007-7-18 19:08:48 | 显示全部楼层
好像一般是按照16个通道一个灯,我只做过发送信号

接收端的Mark如果都按套路来还是方便,Break就不重要了,就是停止位

出0入0汤圆

 楼主| 发表于 2007-7-19 08:51:36 | 显示全部楼层
MEGA48,采用8M内置RC振荡器,在熔丝位里去掉八分频,是可以达到250KBPS的传输速率的.

反极性检测是指如果RS485送来的信号线不是AB,而是BA(我不知这样描述是否正确),从75LBC184出来的信号正好完全反向,所以我在程序里增加了识别这一现象的功能,如果反向的话,则不从网络读取任何的信号.

不是用MEGA48直接控制LED的,因为我做的这个只是将我需要的通道数据从RS485网络里接受过来,然后它还要将数据传送到下位机去执行的,我下位机是采用了TINY26.由TINY26对LED进行控制.

出0入0汤圆

 楼主| 发表于 2007-7-19 09:03:58 | 显示全部楼层
具体几个通道一个灯,是要看实际应用状况的.

我打算用三个通道来控制一组灯(RGB),最近正在构思中,呵呵

DDB_21IC说的没错,对我这板来说,比较重要的两个信号就是:MARK和停止位,不过BREAK还是很重要,因为我是用BREAK来产生帧错误的中断,然后再开始确认何时为起点.

出0入0汤圆

 楼主| 发表于 2007-7-19 09:05:27 | 显示全部楼层
具体几个通道一个灯,是要看实际应用状况的.

我打算用三个通道来控制一组灯(RGB),最近正在构思中,呵呵

DDB_21IC说的没错,对我这板来说,比较重要的两个信号就是:MARK和停止位,不过BREAK还是很重要,因为我是用BREAK来产生帧错误的中断,然后再开始确认何时为起点.

我这板有个缺陷就是没有采用光电隔离,因为手头没有高速光耦,而且这块板对体积要求比较高,控制传输部分干扰比较小,就先这样试一下,将来还是要考虑光隔的.

出0入0汤圆

发表于 2007-7-19 10:27:28 | 显示全部楼层
采用8M内置RC振荡器做250KBPS的传输速率,应该不是很稳定吧.特别是量产的时候,容易出问题.

出0入0汤圆

 楼主| 发表于 2007-7-19 15:17:30 | 显示全部楼层
还可以,至少手里的几个样板是没问题的.我想有时间的话,做个冷热循环,试一下不同温度下的可靠性.

出0入0汤圆

发表于 2007-7-20 09:28:38 | 显示全部楼层
可否上传一份DMX512协议?

出0入0汤圆

发表于 2007-9-10 11:18:12 | 显示全部楼层
我是做LED 的,能否给个参考代码,或者交换下程序也可。

出0入0汤圆

发表于 2007-9-10 11:21:37 | 显示全部楼层
点击此处打开armok01171408.xls

出0入0汤圆

发表于 2007-9-10 11:33:24 | 显示全部楼层
我传了个详细的DMX512协议说明,希望对大家有所帮助,欢迎交流!

出0入0汤圆

发表于 2008-5-3 21:00:29 | 显示全部楼层
不错 学习学习 哈哈 250KBPS是有点快

出0入0汤圆

发表于 2009-3-24 09:54:01 | 显示全部楼层
你用什么检测的BREAK,错误帧还是RXB8

出0入0汤圆

发表于 2010-8-1 08:51:12 | 显示全部楼层
QQ:1191474325
提供DMX512产品方面的技术支持。

出0入0汤圆

发表于 2011-3-9 21:25:44 | 显示全部楼层
回复【楼主位】jswanglei
-----------------------------------------------------------------------

请教大家一个问题,我用的PIC16F877A的单片机做512解码器,内部的指令频率是5M赫兹,在连接到控制台后,出现接受不到数据,而且程序还跑乱了,不知道是不是单片机频率太低的原因,造成的?
我用的是全部中断接受的,RX9D来判断512数据包的复位信号的。

出0入0汤圆

发表于 2012-9-15 20:37:43 | 显示全部楼层
正需要这方面的资料。

出0入0汤圆

发表于 2012-9-17 15:39:55 | 显示全部楼层
lsls 发表于 2010-8-1 08:51
QQ:1191474325
提供DMX512产品方面的技术支持。

有简单的例程么
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 06:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表