Questions tagged «microchip»

Microchip Technology是一家IC制造商,以其广泛的PIC微控制器以及存储器和模拟功能IC闻名。术语“微芯片”是集成电路的传统术语,不仅是Microchip Technologies设计的。该公司成立并以该术语成为普遍用语而得名。

7
我应该使用什么PIC?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为电气工程堆栈交换的主题。 4年前关闭。 开始学习的最佳PIC是什么?我想要具有8引脚和模拟输入的PIC。 我有16F628A,但我认为16F684可能会更好。PIC16F648和684A有什么区别? 哪个最好?

2
Microchip文档未在微控制器引脚排列图上标记CAN总线引脚
链接到数据表 我想DSPIC33FJ128GP802在新项目中使用Microchip ,并希望使用ECAN buss。 我面临的问题是,在Controller families数据表顶部的列表中,它说该设备DSPIC33FJ128GP802具有一个ECAN port可重映射的外围设备: 当我去到的Pinout descriptions表并查找ECAN针标签它说,他们是C1RX和C1TX: 在此之前,一切都非常完美,我现在知道该芯片在CAN buss某个地方,并且知道引脚的名称,但是现在当我转到该芯片的引脚图时: 没有标有C1RX或的引脚C1TX。那我该怎么办?我应该猜CAN针脚在哪里,还是我在这里错过了什么? 感谢所有帮助XD

3
如何在微芯片上实现交叉线?
我一直以为光刻微芯片制造是一个没有分层的2D层创建过程,因此当您有一些或时,就会在电路中产生拓扑问题,对于任何不平凡的情况都是如此设计。K3,3K3,3K_{3,3}K5K5K_5 并且有论文谈论生产具有多层的“ 3D”芯片以节省空间,从而加剧了混乱。 是的,这很可悲,但这就是我在学校中学到的一堆神秘的谜语。难怪人们会开始关于将这些技术提供给我们的外星人的阴谋论。 那么,如何仅使用2D拓扑结构构建复杂的处理器和芯片呢?

3
您可以为PIC微控制器选择任何晶体吗?
我正在使用PIC16F690,我知道内部振荡器具有某些值(20,8,4 ...)。 我想放置一个外部8MHz晶体,但只能找到8.8MHz或7.6MHz。 我想知道是否可以将其中的任何一个放到PIC上,还是必须精确地是8MHz?另外,我该如何选择每个电容器?

5
我可以控制微控制器的电压输出吗?
我必须为电路生成介于0 V和0.8 V之间的值,并获取系统输出的电压值并分析数据。我可以使用微控制器自动生成电压值吗?(例如:0.05 V,0.1 V,0.15 V ...) 如果答案是肯定的,那么我应该使用哪个微控制器以及您推荐什么技术? 如果答案是否定的,您还能提出其他建议吗?

3
如何编程PIC12?
我有需要编程的PIC12F675。我正在使用Pickit 2和Pickit 2软件。我应该可以使用此电路对其进行编程,但是Pickit 2软件根本无法检测到该芯片。 怎么了 编辑:我已经添加了电路板的图像。而这里就是你可以找到的PIC12F675数据表。跳至第4页以了解引脚排列。 EDIT2:我实际上只是看了看这些芯片(笨拙,但我以为Mouser会把我订购的东西发送给我),我注意到它们实际上是PIC12C671的。这会有什么不同? 最终编辑:哇!感谢所有为我提供帮助的人!我没想到会有这样的反应。最终就像我想的那样,这是一个小愚蠢的问题。我从Mouser收到包裹时没有仔细检查所有东西是我的错。

3
Microchip XC16中函数的绝对地址
器件:dsPIC33FJ128GP802 我有一些* .s文件,如下所示 .global _D1 .section .speex, code _D1: .pword 0x66C821, 0x1B0090, 0xD96C36, 0x9B60B0, 0xDD4E36, 0xBF4E53 .pword 0xD1098B, 0x719BD9, 0x873989, 0x003B69, 0x279035, 0xED4244 .pword 0xE1403C, 0x54D439, 0x826550, 0xC59627, 0xDD0432, 0x88FA29 我在* .h中声明了相同的内容 extern void D1(void); 现在我将D1传递给表读取功能 nowPlaying.file1 = (unsigned long) D1; function(nowPlaying.file1); 我的问题是,如果D1的地址大于0X8000,则例程不正确。我尝试了大型和小型代码模型,但结果是相同的。我认为这是由于指针的16位限制引起的。是否有任何方法可以直接从代码中访问D1的绝对地址。可能类似于内置函数或宏。

3
dsPIC上的EEPROM读/写错误
我正在运行Microchip dsPIC30F6012a。我在多个运行相同软件的PCB上安装了该芯片,并在所有PCB上观察到相同的问题。这意味着系统性问题,而不是一次性生产问题。这个问题也是可以重现的,这意味着如果我知道在哪里看,我应该可以杀死它。但是我仍然很难调试应用程序。 被测板接受24V,通过V7805降压至5V。该芯片在带有16x PLL的内部振荡器上运行,运行速度约为29.5 MIPS。该板上的相关代码本质上非常简单:唤醒,从EEPROM读取数据,然后进入无限循环。每毫秒中断一次,观察一些环境数据,并将更新的值写入EEPROM。还有其他事情,但是即使不相关的代码被注释掉,问题仍然会发生,因此我可以肯定地确定它与当前的问题无关。 在一般情况下,板卡有95%的时间以正确的内存值唤醒,然后继续其业务。但是,其他5%的时间会以错误的值唤醒。具体来说,它会以本应具有的数据的位翻转版本唤醒。我正在看的是一个四字节的无符号长整数,长整数的高位或低位字都可能被翻转。例如,10变成2 ^ 16-10,之后变成2 ^ 32-10。我可以通过手动重启数十次来重现故障,但这并不是很一致,并且我的开关手指已经磨损了。 为了以受控方式重现该问题,我制作了第二块板,该板驱动被测板的24V电源。(另一个dsPIC驱动达林顿光电耦合器。)测试板将24V关断1.5秒(足够长的时间使5V电源轨降到基本为0并停留在那里一秒钟),然后将24V开通一段可配置的时间长度。凭借大约520 mS的接通时间,我每次都能在五个电源周期内重现该EEPROM故障。 5V电源轨表现合理。假设我可以相信我的示波器,它会在开机1毫秒内稳定在5V,可能会有0.4V的过冲。关断时,它以指数方式衰减至0V,在50 mS内达到1V。我没有看似相关的构建警告,只有未使用的变量和文件末尾缺少换行符。 我已经尝试了几件事: 启用/禁用MCLR 启用/禁用WDT 启用/禁用代码保护 启用/禁用/更改掉电检测电压 启用/禁用/更改开机定时器 主内部振荡器上的不同PLL设置 连接/断开我的PICkit 3编程器 在5V电压轨上增加470 uF的电容 在我的MCLR引脚上的4.7k上拉电阻上添加/移除0.1 uF 禁用代码中的所有中断,并且在主循环中仅保留EEPROM更新 开始读取EEPROM之前,在启动例程中增加了1.5秒的延迟 我还编写了单独的测试代码,除了继续将值写入EEPROM然后再将它们读回以确保该值没有更改外,它什么也没做。数以万计的迭代没有出错。我所能得出的结论是,EEPROM读取或写入出现问题,特别是在上电/掉电时。 自2007年以来,我一直在使用相同的EEPROM库。我偶尔看到故障,但没有可重复的内容。相关代码可以在这里找到:http: //srange.net/code/eeprom.c http://srange.net/code/readEEByte.s http://srange.net/code/eraseEEWord.s http:/ /srange.net/code/writeEEWord.s 我以前在其他应用程序中曾见过EEPROM错误,但始终都是一次过的小故障,没有任何可重复的或一致的。 有人知道发生了什么吗?我没办法尝试了。

3
除非启动延迟时间长或连接了总线分析仪,否则为什么我的CAN收发器不会收到消息?
我正在使用16位MCU PIC24HJ64GP504编写基于CAN的应用程序。基本上,这是我的电路板与另一个节点之间的通信,该通信持续不断地以1 Mbit / s的速度使用CAN向我的电路板发送数据。我正在将PIC24中的ECAN模块配置为以1 Mbit / s的速度工作。我以这样的方式编写代码:在开始的10毫秒内,ECAN模块将接受来自另一侧的所有消息,然后,我将ECAN模块重新配置为仅接受消息ID为0x13的那些消息。 现在出现问题了。另一个节点和我的电路板同时启动。另一个节点在通电后约40毫秒后开始传输消息。但是我无法从董事会上收到任何消息。现在,如果我先给板子加电,给它一些时间用新的滤波器重新配置ECAN模块,然后安定下来再给另一个节点加电,那么一切就可以正常工作。 现在是最奇怪的部分。.如果我在电路板和另一个节点之间连接了CAN总线分析仪,并且即使我同时为两个节点加电,则一切正常……不需要先为电路板加电。我已经使用来自不同制造商的三种不同的总线分析仪进行了尝试,并获得了相同的结果。 在我看来,在重新配置ECAN模块期间,需要一些时间才能解决。随着总线中总线分析仪的引入,这段时间被缩短了,以便一切正常。但是我不确定到底是什么问题。 在过去的七天里,我一直在努力解决这个问题。 PS:今天我检查了一个示波器,发现如果另一个节点在加电后170毫秒后开始传输,则整个工作正常。在此之前,除非连接了总线分析仪,否则我的设备不会收到任何消息。最糟糕的部分是我无法延迟其他节点的传输,该节点的固件是专有的。 我也在今天的一个论坛上读到,CAN需要在节点处使用120电阻才能使其正常工作(即使我的节点没有电阻并且工作正常,只要在重新配置后有一定的时间来解决)。我怀疑总线分析仪的引入会以某种方式更改某些网络的电气参数,从而缩短我的节点在重新配置后建立所需的时间。但我不确定.. :(

4
Wiznet W5100与Microchip ENCx24J600
使用Wiznet W5100或Microchip EncX24J600的利弊是什么? 解释起来有点复杂。 我的问题是关于芯片上的Microchip TCP堆栈与Wiznet TCP / IP内核的性能。还涉及费用($$)。 例如:使用Wiznet,微控制器将减少处理,从而使微控制器可以执行其他任务。但是我认为这取决于您正在工作的哪一层。 使用Microchip TCP堆栈,也许我可以控制的外围设备受到限制。也许我将不得不使用第二个微控制器。 因此,我希望我已经为您提供更好的解释,以帮助您做出最佳选择。

3
在嵌入式系统中安全地存储和使用密钥
我正在使用一个微处理器-PIC32MZ2048efm144 MCU,该单片机接收使用特定密钥加密的命令,将其解密并执行该命令。加密的命令是脱机存储的,所以我不能随时更改密钥。密钥是FIXED。这些命令由服务器加密,并由电话下载。当手机不在线时,电话会在以后的时间将加密的命令发送到MCU 。在电话将其传达给MCU之前,这些命令已被加密,因此无法使用会话密钥。 我可以将外部加密/解密模块连接到PIC,但随后数据将至少在一个方向上通过解密。 解决方案带来了这里: 在嵌入式设备的内存中存储安全密钥 使用一次性密钥进行加密,但是我需要存储一个超级秘密密钥 我的雇主所要求的是密钥不可访问,因此除了安全存储模块和MCU提供的物理保护之外,不考虑物理保护。 假设不使用军事级设备,你们是否知道并可以推荐解决方案? 提前致谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.