论坛风格切换切换到宽版
  • 4459阅读
  • 29回复

关于数字信号传输 [复制链接]

上一主题 下一主题
离线小比尔/5
发帖
2582
只看该作者 20楼 发表于: 2009-06-11
'
曼彻斯特才是正解,不过此种编码由于加入了自同步脉冲,信道利用率要除以二,换句话讲波特率会翻倍.
若时钟精度较高,也可以考虑类似usb的nrz编码+长不变电平同步脉冲插入.这样信道利用率在随机数据下只会降低1%不到,不过编程稍稍复杂.
'

就是ami,或者hdb3,3个长连加一个破坏脉冲
我用的315模块就是这样的,1或0稍多就出问题,脉冲的前沿会被吃掉
离线FMer
发帖
2549
只看该作者 21楼 发表于: 2009-06-11
[quote=小比尔/5]就是ami,或者hdb3,3个长连加一个破坏脉冲
我用的315模块就是这样的,1或0稍多就出问题,脉冲的前沿会被吃掉[/quote]
脉冲的前沿会被吃掉,2个原因:
1、带宽不够
2、整形电路有问题
离线BH7KQK
发帖
3425
只看该作者 22楼 发表于: 2009-06-12
'
脉冲的前沿会被吃掉,2个原因:
1、带宽不够
2、整形电路有问题 [表情]
'
gfsk可解决这个问题,蓝牙上用的。
离线小比尔/5
发帖
2582
只看该作者 23楼 发表于: 2009-06-12
'
脉冲的前沿会被吃掉,2个原因:
1、带宽不够
2、整形电路有问题 [表情]
'

问题出在整形电路
整形电路是一个比较器
只要长连1或长连0,输出脉冲就可能出问题了
另外手捏天线的时候,发送信号的频率稳定,但上下沿位置会不稳定
离线永远的FM
发帖
12113
只看该作者 24楼 发表于: 2009-06-12
项目开始设计。现在大概确定了传输方式:2片m8,时钟32768hz,时钟同步(看来异步玩不了,至少现在不行)。用一个pc0发送,pc1接收。
其中a为主机 b为丛机
a一直处于守候状态。
当b要向a发送数据时,b先发送连续有规律n个低电平表示我要给a传数据。
a收到确认这是n个连续低电平后,发送2个字节特征码(内容自定)给b,告诉b我可以接收你数据。
b确认这2个字节特征码与相同时,开始给a传10个字节数据。(其中包括最后一个字节确认发送码)
a收妥后,发送一个字节数据给b,表示已经收妥。此后如果b还要传数据,就重复上述过程。
所有过程要在0.5秒内完成。
离线小比尔/5
发帖
2582
只看该作者 25楼 发表于: 2009-06-12
我的比较复杂,发端还比较容易:
前同步(1111000011110000) + 帧同步(01110110) + 地址 + 帧xor校验 + 用m序列扰乱的数据(pwm 4800baud) + 尾同步(0000111100001111)
收端的单片机还要解调,由于pca的计数和边沿的误差,完全被搞晕了。搞了一个星期,由于交论文比较重要,最后一烦,直接上专用芯片
唉。。。

大体上是下面这个样子(只是这里的数据还比较单纯 ,而且调制方式有点像fsk,那个时候觉得上下脉宽都可以用来传数据的,结果遇到了很大的困难),因为没加上拉,所以边沿实在是,唉。。。。。。
另外emi处理不好,单片机会干扰接收。
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线FMer
发帖
2549
只看该作者 26楼 发表于: 2009-06-12
用cc系列的芯片好了..什么功能都有.
离线rogerllg
发帖
301
只看该作者 27楼 发表于: 2009-06-15
可以考虑1-wire总线。。。。。类似地做个协议吧/
离线永远的FM
发帖
12113
只看该作者 28楼 发表于: 2009-06-15
昨天自己做了个协议。用2线传输基本成功。
数据线上一直是高电平。
2个连续的10us宽低电平代表1,一个10us低电平代表0。传完8bit后,接收端会发送一个低电平确认信号。
这个编码接收正确率100%,不过有个严重问题是,如果只接受了7bit数据而之后没有心数据传来,那接收端会当机(卡住)。
离线永远的FM
发帖
12113
只看该作者 29楼 发表于: 2009-06-15
'
可以考虑1-wire总线。。。。。类似地做个协议吧/
'

刚刚看了下1-wire总线协议内容,这个其实就是去掉sck线的iic总线吧?在pdf资料中说这个1线制总线可以传输时钟和数据。我马上就想这样就完美啦!不用考虑什么同步问题。但后来看了ds18b20(就是用1-wire总线的)的传输方式,里面根本没有提到时钟传输,在网上找了例程看,里面时钟“同步”仅仅是靠延迟来实现的。
本主题包含附件,请 登录 后查看, 或者 注册 成为会员