0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微控制器的电容控制面板PCB设计有哪些需要注意

PCB线路板打样 来源:ct 2019-09-10 17:47 次阅读

在之前的项目文章中,我介绍了使用TI MSP430FR2633定制电容式触摸接口的基本电路设计注意事项。在本文中,我们将仔细研究PCB设计考虑因素和器件编程

Myinterface由两块电路板组成:一块四层电路板,内置微控制器和支持电路,以及带有电容式触摸屏和指示灯LED的双层电路板。

MSP430FR2633的PCB布局注意事项

主电路板是具有内部接地平面和阴影电源平面的四层叠层。阴影线有助于减少可能对电容式触摸感应性能产生负面影响的寄生电容。

ESD二极管USB连接器外,元件安装在电路板的顶部。 USB连接器安装在电路板的底部,以避免微型USB连接器和CP2102N之间的差分对线路交叉,并利用电路板和外壳之间未使用的空间。

我订购此板的制造公司,MacroFab,为单面和双面板充电。

上面显示的是四个电路板层的自上而下的图像。

I关注电容式触摸引脚的迹线与下面的层之间的电容耦合。为了最大限度地减小电容效应,我使用了5密耳的连接和一个阴影填充,固定的走线宽度和不同的层间空间宽度。

这不是必须这样做,但我想要抵消阴影填充不同的图层。不幸的是,这不是我的PCB设计程序(Diptrace)的一个功能,并且手动移动阴影填充提供了不一致的结果。在附近的电源层上使用带阴影填充的最小迹线宽度电容式触摸感应线,意味着降低电容式触摸引脚上的电容。

电路板的第二层(Vcc)可以看到红色。阴影填充和细线跟踪用于减少电容耦合的影响。

阴影填充连接到与实心填充相同的网。我在实心填充中添加了额外的点,以创建第二个阴影铜区域填充的负空间。使用Diptrace,定义正负区域可防止实心填充填充阴影区域。

LED注意事项

电容式控制面板的底部

用于驱动LED的信号状态的变化可以被微控制器检测为电容的变化。为避免意外激活,TI建议将数字和电容信号线分开至少4 mm。此外,当在不同的层上交叉时,它们应该以直角交叉。

我选择使用反向安装,而不是通过将LED放置在与按钮和旋转轮相同的层上的过孔来布线。 LED通过电路板上的孔发光。

CP2102N编程

CP2102N使用Silicon LabsSimplicity Studio Express配置工具进行编程。两个GPIO引脚用于指示MSP430FR2633和CP2102N之间的UART数据传输。这些LED与实际数据传输位于不同的网络上,LED显示为发送的字节和数据串,而不是单个数据位。

请参阅我的另一篇文章,了解如何克服CP2102N的编程难度。

MSP430FR2633编程

正如我在第一篇文章中提到的,CapTIvate Design Center是一个图形化软件工具,可以生成运行该项目所需的大部分代码。它确实需要知道哪些按钮和滑块存在以及它们连接到哪些引脚。该软件生成运行微控制器和电容式触摸界面所需的所有C源代码,头文件和库。

微控制器的电容控制面板PCB设计有哪些需要注意

微控制器的电容控制面板PCB设计有哪些需要注意

下载代码

不幸的是,此时软件还不知道我已将指示灯LED添加到我的主板上。所以我很遗憾不能简单地构建代码并将其上传到微控制器。我首先需要告诉MSP430FR2633它有一些LED连接,然后想出一种方法来打开和关闭它们。

我选择通过bitmasking来做到这一点。我在控制面板的左上角,左下角,中间角,右上角和右下角有五个LED,我想创建三种方式来控制它们 - 开,关和切换。

为MSP执行此操作的方法是将LED视为内存中特定位置的位。写1并且LED亮;写一个0然后它会关闭;反转该值,您将切换LED状态。引脚映射到各种寄存器中的位。这些位位置由微芯片上的引脚排列决定。例如,GPIO引脚P2.3位于寄存器2的第3位。要打开和关闭LED,只需操作寄存器2的第3位。寄存器位置P2在另一个特定于微控制器的文件中定义。

幸运的是,基本结构包含在Code Composer Studio中MSP430FR2633的示例草图中。我所要做的只是为我的LED复制和修改它。

LED_UL代表控制面板左上角的LED。


#defineLED_UL_POUT(P2OUT)
#defineLED_UL_PDIR(P2DIR)
#defineLED_UL_PIN(BIT3)
#defineLED_UL_ON(LED_UL_POUT|=LED_UL_PIN)
#defineLED_UL_OFF(LED_UL_POUT&=~LED_UL_PIN)
#defineLED_UL_TOGGLE(LED_UL_POUT^=LED_UL_PIN)

在main()函数中,需要插入一个小命令来禁用GPIO引脚高阻模式。如果您正在为自己的项目进行操作,请在看门狗定时器停止或LED永不点亮后插入命令。


Voidmain(void){
WDTCTL=WDTPW|WDTHOLD;//Stopwatchdogtimer
PM5CTL0&=~LOCKLPM5;//DisablePower-OnHigh-Impedancemode

}

最后,我需要编写一个使用电容式触摸界面传感器位置点亮LED的功能。


voidmy_slider_callback(tSensor*pSensor)
{
//FIRSTCHECKIFTHEREISVALIDTOUCH
if(pSensor->bSensorTouch==true)
{
//THENGETTHECURRENTTOUCHPOSITIONONTHESLIDER/WHEEL
position=(uint16_t)((tSliderSensorParams*)pSensor->pSensorParams)->SliderPosition.ui16Natural;
//Eventhoughitisstoringthedataina16-bitinteger,thenumbersneverexceed8bitsinlength
//Usethepositiontogenerateeightcases--illuminateoneoffourcorners,orilluminateoneoffoursides.
//Maskbits5:7thenshiftthemtobecomebits0:2
//case8=(position&0x00E0)>>5;
//addanintegeroffsetiflightsarerotatedfromwheelpositions
case8=((position&0x00E0)>>5)+3)%7
switch(case8)
{
case0://LightUpperLeftCorner
LED_UL_ON;LED_UR_OFF;LED_BR_OFF;LED_BL_OFF;
break;
case1://LightTopSide
LED_UL_ON;LED_UR_ON;LED_BR_OFF;LED_BL_OFF;
break;
case2://LightUpperRightCorner
LED_UL_OFF;LED_UR_ON;LED_BR_OFF;LED_BL_OFF;
break;
case3://LightRightSide
LED_UL_OFF;LED_UR_ON;LED_BR_ON;LED_BL_OFF;
break;
case4://LightBottomRightCorner
LED_UL_OFF;LED_UR_OFF;LED_BR_ON;LED_BL_OFF;
break;
case5://LightBottomSide
LED_UL_OFF;LED_UR_OFF;LED_BR_ON;LED_BL_ON;
break;
case6://LightBottomLeftCorner
LED_UL_OFF;LED_UR_OFF;LED_BR_OFF;LED_BL_ON;
break;
case7://LightLeftSide
LED_UL_ON;LED_UR_OFF;LED_BR_OFF;LED_BL_ON;
break;
Default://TurncornerlightsoffandtogglecenterLED
LED_UL_OFF;LED_UR_OFF;LED_BR_OFF;LED_BL_OFF;LED_C_TOGGLE;
break;
}
}
}

JTAG故障排除

在完美的世界中,我可以立即上传代码并开始试验。但这不是一种简单的方法。

我最初尝试对电路板进行编程失败,并显示一条错误消息,表明没有连接任何设备。我开始使用示波器解决问题并看到以下JTAG事务。

微控制器的电容控制面板PCB设计有哪些需要注意

上面显示的是一个无效的JTAG事务。测试,TMS,TCK,TDO,TDI和nRST状态在示波器中基于1.51 V阈值定义为低/高。

对于那些对JTAG编程不熟悉的人,根本不是你期望JTAG事务的样子。理想情况下,有一个入口序列,然后是TDO和TDI线上的时钟信号和数据转换的快速转换。

出于好奇,我决定在我的调查中添加一个普通的模拟探头,看看是什么信号正在更详细地进行。模拟探针迹线如下所示为黄色。

微控制器的电容控制面板PCB设计有哪些需要注意

上面以白色显示的是MSP430FR2633的完整JTAG事务。黄色迹线是正常的模拟测量,它复制了TDI信号线。

现在,我有一些黄色探针迹线的其他有趣信息。信号并不总是处于逻辑高或逻辑低状态。还有一些东西正在与信号线相互作用,并保持一个干扰编程信号的~2 V电位差。

同时,我意识到我选择用于USB的两个引脚 - 串行接口(UCA0TXD,UCA0RXD)分别成为TCK VREF +和TMS的两倍。因此,当连接到JTAG接口时,绝对没有办法测试USB到串行接口,并且CP2102N很可能主动干扰JTAG编程。

不幸的是,我需要重新设计电路板,将CP2102N的Tx/Rx引脚重新定位到UCA1RXD和UCA1TXD线。

微控制器的电容控制面板PCB设计有哪些需要注意

MSP430FR2633更好的JTAG交易

收到我的新电路板并挂钩这取决于我的JTAG程序员,我有最后一个障碍。我很沮丧地仍然无法编程,直到我对程序员进行了固件升级。

但是,毕竟,我终于有一个项目可以让我更好地理解和编程电容式环形滑块。

德州仪器(TI)MSP430用户指南演示了多种访问电容式滑块和按钮的方法,而这只是其中之一。但是,这种方法可以帮助您在下一个设计中使用电容式触摸滑块开始自己尝试。我希望你喜欢它。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • pcb
    pcb
    +关注

    关注

    4218

    文章

    22464

    浏览量

    385608
  • 电路板
    +关注

    关注

    140

    文章

    4610

    浏览量

    92358
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42573
收藏 人收藏

    评论

    相关推荐

    pcb电路板元件布局需要注意什么

    pcb电路板元件布局需要注意什么
    的头像 发表于 03-14 15:24 253次阅读

    使用电容降压时都需要注意哪些?

    使用电容降压时都需要注意哪些? 电容降压是一种常见且广泛应用的电路降压方式,它可以将高电压降低至设定的较低电压,并且具有稳定、简便、高效、可靠等优点。然而,在使用电容降压时,我们
    的头像 发表于 02-02 15:27 182次阅读

    LTM4630电源模块在多路并联时在pcb设计需要注意哪些细节?

    LTM4630电源模块在多路并联时在pcb设计需要注意那些细节 比如在3路或者4路并联时在画pcb时走线需要注意那些地方,要加入对称设计和阻抗匹配吗, 如何才能做到并联均流效果最好,
    发表于 01-05 08:07

    如何设计节省空间、高效率和高安全性的工业控制面板

    )。尽管面临这些困难,但设计人员必须设计出在安全性、可靠性和符合标准方面完全达到要求的面板。 为了实现这些目标,设计人员需要创新型解决方案,以简化控制面板的开发、安装和使用。具体来说,他们需要
    的头像 发表于 01-01 14:03 385次阅读
    如何设计节省空间、高效率和高安全性的工业<b class='flag-5'>控制面板</b>

    设计软板pcb需要注意哪些事项

    设计软板pcb需要注意哪些事项
    的头像 发表于 12-19 10:06 281次阅读

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)
    的头像 发表于 12-07 10:55 197次阅读
    【<b class='flag-5'>微控制器</b>基础】——从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(上)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)
    的头像 发表于 12-06 17:23 269次阅读
    【<b class='flag-5'>微控制器</b>基础】—— 从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(下)

    通过KNX使家庭和楼宇自动化的控制面板设计更简单

    通过KNX使家庭和楼宇自动化的控制面板设计更简单
    的头像 发表于 12-04 15:03 297次阅读
    通过KNX使家庭和楼宇自动化的<b class='flag-5'>控制面板</b>设计更简单

    PCB设计需要注意哪些方面以抑止电磁辐射呢?

    PCB设计需要注意哪些方面以抑止电磁辐射呢? 在PCB设计中,为了抑制电磁辐射,需要注意以下几个方面: 1. 地线布线 地线是抑制电磁辐射的重要手段之一。在
    的头像 发表于 11-23 10:07 413次阅读

    选择微控制器的几个步骤和注意事项

    选择合适的微控制器非常重要,它将直接影响到你的设计成果以及后续的开发过程。下面将介绍选择微控制器的几个步骤和注意事项。
    发表于 08-16 17:11 405次阅读

    汽车微控制器的供电电压

    电压,包括许多32位微控制器和一些较新的16位微控制器。由于功耗更低,一些小型设备,如便携式设备,也经常使用3.3V的微控制器。 ·1.3V:一些新型微控制器,尤其是在低功耗和高性能方
    的头像 发表于 07-19 10:45 818次阅读
    汽车<b class='flag-5'>微控制器</b>的供电电压

    PCB电路板敷铜需要注意哪些问题

    一站式PCBA智造厂家今天为大家讲讲什么是敷铜,敷铜要注意什么?PCB设计敷铜注意事项。覆铜作为PCB设计的一个重要环节,不管是国产的PCB设计
    的头像 发表于 07-12 09:03 1647次阅读

    聊一聊设计PCB需要注意哪些点

    PCB设计,到所有元件焊接完成,成为一个高质量的电路板,需要PCB工程师、焊接工艺、焊接工人等诸多环节的把控。
    发表于 07-05 14:08 966次阅读
    聊一聊设计<b class='flag-5'>PCB</b>时<b class='flag-5'>需要注意</b>哪些点

    PCB走线中需要注意的7个点

    今天给大家分享的是:PCB走线中需要注意的7个点。 一、PCB 电源布线 数字电路很多时候需要的电流是不连续的,所以对一些高速器件就会产生浪涌电流。 如果电源走线很长,则由于浪涌电流的
    的头像 发表于 06-19 15:46 2456次阅读
    <b class='flag-5'>PCB</b>走线中<b class='flag-5'>需要注意</b>的7个点

    西门子触摸屏SMART LINE系列控制面板功能

    触摸屏有SMART 700和SMART 1000两种,为用户提供了不同尺寸的类型。本文下面就介绍一下SMART LINE系列触摸屏控制面板的功能,供用户在调试过程中作为参考。 西门子触摸屏SMART
    的头像 发表于 05-25 10:12 2779次阅读