首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
雁塔菜农
修改
文章:
1274
阅读:
4872227
评论:
674
赞:
8343
俺是农民俺怕谁???
好友
私信
个人主页
俺是农民俺怕谁???
文章
1274
原创
0
阅读
4872227
评论
674
赞
8343
原创
单总线数据发送“零耗时CRC检测”算法的软件实现
2007-1-6 00:41
4283
11
11
分类:
MCU/ 嵌入式
单总线数据发送“零耗时CRC检测”算法的软件实现(灌水作)-(精)
雁塔菜农 发表于 2005-5-3 3:51:00
返回的hotpower的个人主页
hotpower 发表于 11/25/2003 2:23:22 PM 侃单片机 ←返回版面
;单总线数据发送“零耗时CRC检测”算法的软件实现(灌水作)
;------------------------------------------------------------------
;看“刀客”如何将HotPower“斩立决”的程度,再决定是否发
;单总线数据接收“零耗时CRC检测”算法的软件实现(灌水作)
;当然,“死人”是不会发言的,更不可能灌水了。
;让HotPower的文章中,不出现“漏水”现象是不可能的,也是万万不能的。
;不搞笑的论坛——永远是“死水一潭”。。。。。。。。。。。。。。。。
;否则,HotPower“到此一游”不就变成“悼词一忧”了吗???
;“笑比哭好”,“刀客收剑”才能“立地成佛”呀。。。
;------------------------------------------------------------------
BBCOUT BIT INT0;发送数据管脚定义
BBCIN BIT INT1;接收数据管脚定义
;-------单总线1字节数据发送子程序-------------------------------
BBCOUTPROC:
;--------------------------------------------------------------
;算法: 动态右移CRC8算法(经典是静态CRC8,非典是动态CRC8)
;本算法的最大优点是在发送期间,实时进行CRC运算。(“零耗时”)
;不会出现“作弊”现象,主从设备都是同时收到CRC运算结果!!!
;通讯速率可达16.3KBPS到32KBPS(51主频为11.0592MHz时)
;本算法与经典的CRC算法最大的不同点:
;经典CRC8是以字节为单位的,而非典的CRC8则是以位为单位的。
;参见HotPower在EMC的主题“群魔乱舞的CRC...”
;--------------------------------------------------------------
;入口:
; CRC0 主设备发送实时CRC码
; CRC1 主设备发送线路CRC码
; ACC 发送数据
;出口:
; ACC=0 一字节数据发送成功
;--------------------------------------------------------------
MOV R2,#08H;每次发送8位
BBCOUTPROC_LOOP:
;-------主设备发送同步脉冲---------------------------------
CLR BBCOUT;发送同步脉冲(低电平)
;----------------------------------------------------------
RRC A;取发送数据位DX
;-------BBC总线为双向电路,自发自收,用于总线测试------------
JB BBCIN,$;等待收到同步脉冲
;-------主设备发送1位数据----------------------------------
MOV BBCOUT,C;发送数据位DX
;-------“零耗时”CRC运算----------------------------------
MOV R7,A;暂存移位后的数据
RLC A;还原移位前的数据
XRL A,CRC0;比较移位前数据和实时CRC码的最低位
RRC A;得到比较结果位CY
MOV A,CRC0;取实时CRC码
JNC BBCOUTPROC_NEXT0;比较结果位相同,不取反
;-------8位右移CRC“权”X^8+X^5+X^4+1-----------------------
XRL A,#18H;取反ACC4,ACC3
BBCOUTPROC_NEXT0:
RRC A;8位右移CRC算法,ACC右移一位
MOV CRC0,A;得到本次的实时CRC码
MOV A,B;取回收数据
;-------释放总线,“零耗时”CRC运算刚好结束------------------
SETB BBCOUT;由于本系统传输时延较大,故将此句提前
;-------主设备也在45uS处(左右)采样数据-----------------------
;目的是检测线路上传输的CRC是否正确,模拟从设备接收的CRC结果
;由于系统约定的主从设备的收发硬件电路相同,当总线有人“捣乱”
;时,主设备的“刀客”立即就会发现,“爱国者导弹”就可立即升空
;拦截,以保证通讯线路的“畅通无阻”,“教主万寿无疆”。。。
;这样,主从设备都可同时发现目标,不需应答就可“先斩后奏”
;哈哈,“生命诚可贵,灌水价更高。”
;“砍头不要紧,只要主义真。杀了我一个,自有后来人”!
;------------------------------------------------------------
MOV C,BBCIN;回收的线路输出的数据
;-------计算主设备输出的CRC----------------------------------
RRC A
MOV B,A;保存回收数据(为何不将HotPower放入回收站)
RL A;还原移位前的数据,但不破坏CY
XRL A,CRC1;比较移位前回收数据和线路CRC码的最低位
RRC A
MOV A,CRC1
JNC BBCOUTPROC_NEXT1;比较结果位相同,不取反
;-------8位右移CRC“权”X^8+X^5+X^4+1-----------------------
XRL A,#18H;取反ACC4,ACC3
BBCOUTPROC_NEXT1:
RRC A
MOV CRC1,A;保存
;-------“零耗时”CRC运算结束---------------------------------
;所谓“零耗时”,并非不耗时。
;主要是在“刀客”行刑前,再为人民做些好事,不想“虚度光阴”
MOV A,R7;恢复移位后的数据
;-------传输时延较小时,释放总线命令可放与此处----------------
; SETB BBCOUT;由于本系统传输时延较大,故将此句提前
;-------------------------------------------------------------
JNB BBCIN,$;等待释放总线
DJNZ R2,BBCOUTPROC_LOOP;8位数据未发完,继续
;-------检测主设备发送数据是否正常----------------------------
;“刀客”在此判断,若CRC0<>CRC1,可以“斩立决”,毫不留情
;在此下手,HotPower心服口服。绝不说半个“不”字!!!
;在此封帖,“群魔乱舞单总线”就会开出“鲜花”来。
MOV A,CRC0
XRL A,CRC1
RET;退出子程序,HotPower要下线了,拜拜了您啦,哈哈
;本文纯属搞笑,有得罪之处,请见谅。
系统注:本文被sparkstar加精.
相关帖子>>>:
单总线数据发送“零耗时CRC检测”算法的软件实现(灌水作)-(精)
最好有个什么具体的实例看看就好!(0字)51新手[6次]2004-2-12 2:24:40
当时版主想杀我,所以只发表了发送部分,并特意起名“灌水作”。想气气他!所以,未有接收部分。。。(0字)hotpower[6次]2004-2-12 2:25:30
hotpower的文章不错,回来仔细看看。(10字)洛克[10次]2004-2-12 2:27:46
我也学学。
阅读全文
(700)
|
回复(0)
|
引用通告
(4)
|
编辑
上一篇:
GAL16V8反汇编源程序(原创) ——上部-(精)
下一篇:
96键演示程序-(精)(33502字)hotpower2004-2-12 1:55:20[106次
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
11
)
收藏
分享到:
上一篇:
“抢占式多主多从”单总线冲突裁决方案
下一篇:
LED条屏英汉点阵混用及点阵队列嵌入命令编码技术
PARTNER CONTENT
换一换>
更多>
全球知名科技公司正在出售一批未使用的IC载板先进封装工艺生产设备
ALLSURPLUS
2025-02-14
德中技术发布数控设备操作系统MOS V1.0版本软件
德中技术
2025-02-06
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
雁塔菜农
修改
文章:
1274
阅读:
4872227
评论:
674
赞:
8343
俺是农民俺怕谁???
好友
私信
个人主页
俺是农民俺怕谁???
文章
1274
原创
0
阅读
4872227
评论
674
赞
8343
最新评论
更多
写的好,学习了,多层板,做的质量一流,很难
开发工匠 ...
评论博文
2025-2-21
PCB多层板为何偏爱偶数层:一场关于平衡的 ...
写的好,大师之作,学习榜样
开发工匠 ...
评论博文
2025-2-20
我与EET的缘分,以及2025年打算在这里分享 ...
7sms : 涨薪1%呢,也就是每个月多拿了有1000元呢———— 楼主10万一个月? 一般的,月薪10W只能在菊花厂能拿到 ...
liweicheng
评论博文
2025-2-19
【工程师故事】勇敢的人先享受世界 ...
最新
博文
Deepseek评OKR是职场人士最应学习的管 ...
从智能手机到服务器,贴片散热器如何 ...
高难度PCB一站式:技术与服务的双重保 ...
资料下载
本周热帖
FP7153PDF规格说明书
FT60F02X芯片手册
[40周全]物联网/嵌入式全能工程师(提 ...
电子工程师入门手册
软件工程知识体系(SWEBOK)v4.0 ...
【赚E币,兑大奖】用AI来分析电路或编 ...
无线充电发射板TYPEC接口快充输入,支 ...
富芮坤FR3068E开发板使用评测 ...
【富芮坤FR3068x-C】学习开发 ...
过压保护元件的典型应用市场 ...
最新资讯
芯语最新
资本市场的“疯狂星期四”,宇树科技 ...
利用解决方案供应商的优势加速自主移 ...
微软量子芯片掀桌子:“幽灵粒子”让 ...
铠侠携手闪迪开发出第10代3D NAND闪 ...
华为成立新公司“北京引望”,聚焦汽 ...
鸿利显示荣获“广东省MiniLED新型显示 ...
富采2024年亏损13.9亿新台币,旗下两 ...
加速视效制作全流程:英特尔以全栈软 ...
芯片巨头,人均年薪65万元! ...
突破极限!1mm³存储TB级!
EE直播间
更多
高效协同与版本管理:是德科技设计数据管理软件助力现代芯片设计
直播时间: 02月26日 10:00
第三代功率半导体器件测试解决方案
直播时间: 03月06日 10:00
利用高性能源表和强大的软件, 实现半导体参数的测试和分析
直播时间: 04月17日 10:00
在线研讨会
更多
使用新型光耦隔离栅极驱动器优化系统效率及EMI表现
Allegro电流传感器替代采样电阻解决方案—实现更高效、更可靠的电流检测
迈来芯电流传感器:从汽车到工业与消费电子全面应用
如何在隔离的状态监控系统中捕获同步数据
热门
推荐
详解状态监控系统的数据采集技术
构建AI未来,Arm计算平台无处不在
采样电阻OUT!Allegro磁传感方案实战揭秘
智能EDA技术揭秘:如何用AI优化芯片设计与制造流程
我要评论
0
11
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/1
面包板社区有奖活动汇总楼
1. 拆解活动即将上线!2. 写原创,有奖励!3. 免费申领:开发板试用、书籍试读...
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论