开发板硬件结构分析
各开发板有一些主要硬件模块,各主要模块实现方法分析如下
1 电源
1.1 外部电源
1.2 USB电源
2 通讯
1.1 USB通讯
1.2 232通讯
1.3 485通讯
1.4 CAN通讯
1.5 网络通讯
1.6 IIC
1.7 SPI
2 人机接口
1.1 按键
1.2 LED
1.3 数码管
1.4 液晶
1.5 触摸屏
3 AD
4 DA
5 音频
6 视频
2014-10
这段时间有一个项目为工业键盘开发,刚好这块开发板中有USB按键功能,记录一下调试记录,并且这次活动得分太低,更新一下:
1 项目要求:
标准工业键盘,客户提供键盘图纸,设计满足windows 系统的工业键盘
2 设计思路
首先分析键盘:
2-1 样机分析:
Dell键盘:
分析后主要由薄膜开关,线路板(绑定专用芯片),线路板与薄膜开关之间采用导电橡胶压接方式连接,此设计模式使用于大批量生产键盘使用。
一般工业键盘:
使用按键加单片机方式。初步认为需要专用驱动,不适合通用键盘。(未经测试)
2-2 资料查找
在网络上搜索USB键盘方案,可以找到51单片机实现键盘方式,但不能当作产品使用。
2-3 初步方案确认
采用专用USB键盘芯片+线路板板方式
2-4 初步方案设计
寻找专用USB键盘芯片:
MC17B-04B
MX83063 等,但大部分芯片为商业级,无法满足工业级需求
后选择:
供货:
但在对芯片厂家进行考核时,发现大部分芯片厂家为中小品牌,无法判定质量,而有一种工业级芯片为美国供货,无法对芯片厂家进行判别。
在对多种芯片进行比较分析,发现芯片管脚等无法实现互换,即无统一标准。
此处会对以后设计与生产带来风险。
2-5 详细设计
对客户方案进行详细设计,在对比按键时发现有部分非标准按键,在客户不更改需求情况下,通用设计芯片无法满足需求,需再次论证设计。
查按键盘方案原理:
windows 键盘只要满足微软规约
USB驱动可以使用HID方式,此时为通用USB驱动
2-6 更改设计
需找满足USB的HID的单片机
使用 C8051F3X 可以满足需求。
购买demo板,C8051F340开发板
分析Demo板,只有USB鼠标程序,烧写程序后,windows自动识别HID设别,但需要更改程序为USB键盘
。
2-7 Atmel开发板
使用悠龙atmel开发板,有HID-Key程序,编译调试,可以识别字母输入a.
程序分析:
程序更改:
更改输入字母a 为b
main.c 中获取按键
pressedKeys[pressedKeysSize] = keyCodes[i];
pressedKeysSize++;
HIDDKeyboardDriver_RemoteWakeUp();
所以在数组keyCodes[i] 定义了按键值:
static uint8_t keyCodes[NUM_KEYS] = {
HIDKeypad_A,
HIDKeypad_NUMLOCK,
//HIDKeypad_9,
//HIDKeypad_RIGHTSHIFT
};
只要修改 HIDKeypad_A,为HIDKeypad_B 即可
2-8 程序移植
atmel程序移植到c8051中
2-9 标准分析
HID与微软键盘分析
2-10 设计注意点
按键扫描
交叉按键
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 |