完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
亲爱的先生们,我正在试图解决一个电容键盘上的问题,这很奇怪。
有时电容键盘被卡住,不再工作,只是重新编程的CY8C21434 MCU解决了电容键盘的块。我们得到的块只是在主电源上做一些电压骤降。 在230V中断之后的不同板上,微控制器的闪存完全归零(每一个字节为0x00),并且在一些罕见的情况下,Flash MEM刚刚损坏(校验和不同于HEX)。 在固件中没有对Flash进行写入。 在第一个固件中,没有看门狗,也没有LVD启用,而且CPUH时钟设置为工作@ SysCLK/1,但是电源电压为3.3V,这是不允许的(数据表页19/50),因为振荡器工作在有效的操作区域之外(是的,CPU在大多数情况下工作)。也在VOR之外。 使用WDG的新FW,启用LVD和SysCLK/4(现在在VoR中工作)似乎都正常工作,没有块。 现在,如果我可以接受一个闪光灯的腐败(在董事会附近有一个电抗器),我不能解释HO能把所有的闪光灯都擦掉。 有人能告诉我MCU是如何被完全擦除的吗? 最好的问候和许多感谢将帮助任何人 以上来自于百度翻译 以下为原文 Dear Sirs, I'm trying to solve a problem on a capacitive keyboard that is quite odd. Sometimes the capacitive keyboard is stuck and doesn't works no more; just a re-programmation of the mcu CY8C21434 solves the block of the capacitive keyboard. We obtain the block just doing some voltage dips on the main supply. On different boards after 230V interruption the flash of the microcontroller is completely zeroed (every single byte is 0x00) and in some rare cases the flash mem is just corrupted (checksum different from hex). No writing to flash are done in the firmware. In the first firmware there was no watchdog and no LVD enabled moreover there was the CPU_Clock setted to work @ SYSCLK/1 but the supply voltage was 3.3V and this is not allowed (datasheet page 19/50) because the oscillator operates outside the valid operation region (yes the cpu in most cases works also outside VOR). With a new FW with WDG, LVD enabled and SYSCLK/4 (so now working inside the VOR) all seems to work correctly and there are no blocks. Now If i can accept a flash corruption (there is acompressor near the board) I can't explain ho can all the flash to be erased. Can someone tell me how the mcu can be completely erased Best regards and many thanx to anyone will help |
|
相关推荐
26个回答
|
|
你好,
你能解释一下230V中断的意思吗?请避免使设备超出其电气极限的条件,因为这样做可能会永久损坏或导致不稳定的行为。 Flash写入是温度依赖性的,以确保正确的操作/使用寿命。请查看您的设备的技术参考手册和HTTP://www. CyPress。Re= 2449以获取更多信息。 你有没有机会手动写入VLTLCR寄存器? 当做, 阿文德 以上来自于百度翻译 以下为原文 Hello, Can you please clarify as to what you mean by 230V interruption? Please avoid conditions that push the device beyond it's electrical limits, as doing this might permanently damage it or cause unstable behavior. Flash writes are temperature dependant to ensure proper operation/lifetime. Please have a look at your device's Technical Reference Manual and http://www.cypress.com/?rID=2849 for more information. Is there any chance you are writing to the VLT_CR register manually? Regards, Arvind |
|
|
|
非常有趣的话题!
我在电压降下也有杂散的擦除。对我来说,解决方案是将VLTLCR寄存器设置更改为更高的值(跳闸电压)。 这个问题似乎偶尔击中一些产品,即使没有闪存写入在固件中实现(见PSoCdeveloper)。我倾向于认为,M8C核心将失去跟踪在电源故障,并执行一些不必要的SROM功能。因此,改变行程电压会影响这种行为。 我认为打开一个技术支持案例是一个好主意,让塞浦路斯的人们看看什么是错的。请汇报一下结果,我也很好奇。 当做, 罗尔夫 以上来自于百度翻译 以下为原文 Very interesting topic! I've had spurious flash erases at voltage drops also. For me the solution was to change the VLT_CR register setting to a higher value (trip voltage). This problem seems to hit some products once in a while, even if no flash writes are implemented in firmware (see PSoCdeveloper). I tend to think the M8C core will lose track at the power glitches and performs some unwanted SROM functions. Therefor, changing the trip voltage will affect this behaviour. I think it might be a good idea to open a technical support case and let the people at Cypress have a look of what is wrong. And please report back what the outcome will be, I am curious too. Regards, Rolf |
|
|
|
谢谢你的快速回答,我会尽量说得更清楚些。
我们有一个DIP发生器(太平洋智能源105-AMX),允许我们在230VAC主电源上产生凹陷。 一个绕组变压器将230VAC转换成12VAC,然后一个桥让我们产生12V,并且使用线性LDO调节器,我们获得3.3V,这给CyPress MCU提供电源。 我认为3.3V的变化(导致230V的DIP)导致CyPress MCU的故障(因为WDG和LVD在旧固件中的缺陷),但是我不能完全解释FLASH重置。 此外,正如我以前所写的,我们不使用写在CPU的闪存上的函数。 以上来自于百度翻译 以下为原文 Thank you for your quick answer, I'll try to be more clear. We have a dip generator (Pacific Smartsource 105-AMX) that allow us to create dips on the 230Vac main supply. A winding transformer transforms the 230Vac into 12Vac then a bridge let us to generate 12V and with a linear ldo regulator we obtain 3.3V that give the power supply for the cypress mcu. I think that variations in the 3.3V (caused to 230V dips) cause malfunction of the cypress mcu (because of lackness of WDG and LVD enabling in the old firmware) but I can't explain fully flash reset. Moreover, as I previously wrote, we doesn't use function that writes to flash memory of the cpu. |
|
|
|
我也建议提交一个技术案例。它可能是一个生产
在有效地进行批量擦除的部分中的编程能力 我们只是没有意识到这一点。一种特殊的生产测试模式…… 问候,Dana。 以上来自于百度翻译 以下为原文 I too recommend a tech case be filed. It could be there is a production programming capability in the part that does effectively a bulk erase and we are just not aware of it. A special production test mode........ Regards, Dana. |
|
|
|
谢谢大家的支持。我已经开了一个技术案例,柏树专家迅速回答。现在他们正在分析固件和硬件,我认为在故事的结尾,如果他们想加深这个问题,我会给他们发一个板,这个问题是闪存擦除的一致问题。
以上来自于百度翻译 以下为原文 Thanx to everyone for your support. I have already open a technical case and Cypress tecnicians replied quickly. Now they are analizing the firmware and the hardware, I think that at the end of the story, if they want to deepen the matter, I'll send them a board with this consistent problem of flash erase. |
|
|
|
有关连接和读取的参考文献
HTTP://www. CyPress?COM/?DOCID=32022 并附上。 问候,Dana。 PSoC程序员3.151用户指南〔1〕PDF 435.2 K 以上来自于百度翻译 以下为原文 Some references for connection and read - http://www.cypress.com/?docID=32022 and attached. Regards, Dana. |
|
|
|
在我的项目中,我找到了关于VLTLCR寄存器的内容:
“下面对VLTLCR寄存器的写入包括将POR设置为VLTL CRL PORILION HIVE、VLTKCREPORURMED MID或VLTA CREPOR POLULL。正确设置这个值对于PSoC的正确操作是至关重要的。当VDD下降时,POR保护M8C不执行MIS。这些值不应该从这里的设置改变。不遵守这个指令可能导致PSoC闪存的损坏。 在故障板中,原来的FW没有跳闸电压,设置为4.81(5.0V),所以现在我在“故障”固件中启用了跳闸电压[LVD(SMP)]=3.02V(3.10)V。 M8CyEnabeLeTimeMe掩码(IntMsK0,In MsK0xValaGeMax监视器); M8CB; (没有WDG或CPUCHILL=SysCLK/4) 之后,MCU的Flash不再擦除自己。 目前,这个问题似乎已经解决了(LVD启用的板现在正确运行两个小时,同时电源电压下降)只是与此修改(LVD跳闸电压)。 在与CyPcFaEe进行电话交谈之后,我粗略的解释是:在原始FW,MCU启动在一个错误的电压上,中断IntMs00VoAuthAug监视器没有被捕获,因为它没有被先前的构造(并且通过正确的LVD设置)启用;在这种情况下,MCM M。是执行一些建设和腐败闪光… 以上来自于百度翻译 以下为原文 In my project i found this regarding VLT_CR register: "The writes to the VLT_CR register below include setting the POR to VLT_CR_POR_HIGH, VLT_CR_POR_MID or VLT_CR_POR_LOW. Correctly setting this value is critical to the proper operation of the PSoC. The POR protects the M8C from mis-executing when Vdd falls low. These values should not be changed from the settings here. Failure to follow this instruction could lead to corruption of PSoC flash". In the faulty boards the original fw has no Trip Voltage enabled and was setted to 4.81 (5.00V) SO...now I have enabled in the "faulty" firmware just the Trip Voltage [LVD(SMP)] =3.02V (3.10)V with this istructions: M8C_EnableIntMask(INT_MSK0, INT_MSK0_VOLTAGE_MONITOR); M8C_EnableGInt; (no WDG or CPU_Clock = sysclk/4) AFTER THAT MCU'S FLASH DOESN'T ERASE ITSELF ANYMORE. At the moment the problem seems to be solved (the board with LVD enabled is now running correctly by two hour also with power supply voltage drops) just with this modify (LVD trip voltage). After a phone conversation with a cypressFAE my rough explanation could be this: with the original fw the mcu started at a wrong voltage and the interrupt INT_MSK0_VOLTAGE_MONITOR wasn't catched because it wasn't enabled by previous istruction (and by correct setting of LVD); in that case the mcu mis-execute some istruction and corrupt flash.... |
|
|
|
亲爱的Dana,我使用Psoc MiniProg,正如你所说的,我确信程序员工作得很好,而且连接得很好。我可以编程部分和读取HEX文件没有问题(我比较校验和,读取闪存,验证ECC)。我的程序员工作得很好!
如果我带着一个损坏的Flash板(在工作之前),我看CY8C21434的I2C总线PIN,MCU就不会给主查询带来任何ACK,因为里面没有WORGIN程序。 以上来自于百度翻译 以下为原文 Dear Dana, I'm using Psoc MiniProg as you correctly stated and I'm sure that the programmer works perfectly and is connected perfectly. I can program part and read hex file without no problems (I compare checksum, read flash, verify ecc). My programmer works perfectly! If i take a board with corrupted flash (before it was working) and I look at I2C-bus pin of the CY8C21434 the mcu don't give any ACK to master queries because of has no worjing program inside. |
|
|
|
真的!
正如我现在看到的,我们必须阅读更多的手册! 对于我的理解:你确实设定了功率设置为3.3V/24或6 MHz,并且跳闸电压仍然处于5V电平。 在我看来,这是一个错误的设置,至少应该在建设项目时发出警告。你应该在PSOC1软件论坛中放置一个新线程,链接到这个线程,这样CyPress可以解决这个错误行为,并且可以纠正这个错误。 鲍勃 以上来自于百度翻译 以下为原文 WOW! As I can see now, we have to read still more in the manuals! For my understanding:; You did set the Power setting to 3.3V / 24 or 6 MHz and the trip-voltage was still at the 5V level. In my opinion this is a mis-setting that should AT LEAST give a warning when building the project. You ought to place a new thread in the PSoC1 software-forum with a link to this thread so that Cypress can address this errorneous behaveour and can correct that. Bob |
|
|
|
对“最大收视率”之外的芯片的任何压力都将具有字面上的“不可预知的效果”。即使Flash的编程是可以想象的,但也不太可能,尽管PSoC内部有一段代码可以编程FLASH或安全保险丝。
“芯片不再运行”这一事实并没有成为丢失Flash内容的原因,我宁愿建议销毁PIN驱动器。 要离开这些疑虑,你可以做的是测量,找到你自己的范围,看你的板的电源,看看所有的PIN,检查你是否有稳定的3.3V,没有输入的负尖峰等。 鲍勃 以上来自于百度翻译 以下为原文 Any stresses to a chip outside of "Maximum Ratings" will have literally "unpredictable effects". Even the programming of flash is thinkable, but quite unprobable, although there IS a piece of code inside the PSoC that is able to program flasch or security fuses. The fact "Chip does not run anymore" has not mandantorily be the cause of lost flash contents, I would rather suggest destroyed pin-drivers. To leave the suspections, what you can do is measure, Find yourself a scope and watch the power-supply of your board, have a look at all pins and check whether you have got a stable 3.3V, no negative spikes on input etc. Bob |
|
|
|
也许我应该没有那么热情。该板在20分钟前测试失败,所有闪存也被擦除,同时启用了LVD(校验和0x000)。
以上来自于百度翻译 以下为原文 Maybe I should have been less enthusiastic. The board failed the test 20 minutes ago, all flash memory has been erased also with LVD enabled (checksum 0x000). |
|
|
|
鲍伯有一个观点,巨大的瞬变可以抹去所有闪光,我能说的是
经验只是部分记忆的腐败更为典型。事实 所有的记忆被抹去,直到所有的比特,仍然让我怀疑。 读写界面?鉴于你以前有一个操作装置 失效评估。 记住Flash编程的基础物理是足够的领域。 通过氧化层施加电荷的强度。大瞬变可以 这也伴随着大量的栅极氧化物短路。什么是电流 失败部分的漏极被完全擦除? 否则我就难堪了。 问候,Dana。 以上来自于百度翻译 以下为原文 Bob has a point, huge transients could erase all flash, all I can say is experience just partial corruption of memory is more typical. The fact all memory is erased, down to all bits, still makes me suspicious of the interface on the read ? Given you had an operating device prior to failure evaluation. Keep in mind basic physics of flash programming is enough field strength to force charge thru an oxide layer. Large transients can do this, but also accompanied by lots of gate oxide shorts. What is the current drain of a failed part fully erased ? Otherwise I am stumped. Regards., Dana. |
|
|
|
它提醒我,我们有一个项目使用PSoC1失败,问题似乎有闪存擦除。我们怀疑这是由于一些电源故障或一些电压尖峰上的VCC,并作出了一些变化的电源电路和层,这似乎改善,但不是100%。我们仍然有一段时间的回报,但没有时间做更多的测试/调查,希望你能找到这个问题的根本原因。
以上来自于百度翻译 以下为原文 It reminds me that we have some failure of a project using the PSOC1 and the problems seems to have the flash erased. We suspected it was due to some kinds of power glitch or some voltage spike on VCC and made some changes to the power supply circuit and layour which seems to improve but not 100%. We still has some return once a while but didn't have time to do more test /investigation, Hope you can find the root cause of this problem |
|
|
|
另一个评论鲍伯的建议。使用DSO,您可以设置它。
对于逻辑触发组合的一个TrulydieSeSe,级别,状态……你的名字 它。 因此,在一个PIN上设置一个“我是活脉冲”的代码,用它来组合某事。 它指示失败、V、I、T、状态,并捕获环境记录。侦探工作。 问候,Dana。 以上来自于百度翻译 以下为原文 One other comment on Bob's suggestion. Using a DSO you can set it up for a truly diverse set of logical trigger combinations, level, state.......you name it. So set up code with an "I am alive pulse" on a pin, use that in combination with something that indicates failure, V,I,T, State, and capture a record of the environment. Detective work. Regards, Dana. |
|
|
|
事实上,PD不应该能够产生错误的电源/跳闸/速度设置。此外,上/下斜坡和设置比它应该更重要。
很明显,M8C正在执行SROM功能,在那里它不应该。 有一件事是肯定的:你并不是唯一一个遇到这种情况的人,其缺点是,据我所知,没有真正的指导方针来绕过这个问题。 当做, 罗尔夫 以上来自于百度翻译 以下为原文 In fact, PD shouldn't be enable to produce wrong power / trip / speed settings. Also the power-up / down ramp and settings are more critical than it should be. It's obvious M8C is executing SROM functions where it shouldn't. One thing for sure is: you're not the only one experiencing this, the downside is that there's no real guideline as far as I know on how to circumvent this. Regards, Rolf |
|
|
|
@鲍勃与Dana
亲爱的鲍伯,我们验证了芯片在大多数情况下丢失闪存内容(每个字节=0x00,校验和0x000),并且在某些情况下,它只是被破坏(校验和不同于原始的电压下降)。 在Flash被损坏或闪存被擦除后,我们用相同的固件对同一个板进行编程,之后该板工作正常。我会检查3.3V,然后我会告诉你的。 你能告诉我在哪种情况下MCU能自动执行Flash重新编程吗?例如,如果MCU跳转到错误的结构会发生什么? 在我正在测试的两个板上,每当我在10秒内产生超过10个电压骤降时,闪存擦除就会发生。 为了让你知道昨天我连接了一个浪涌发电机到一个线圈,我刺激它也4.4kV把线圈附近的MCU,没有闪蒸擦除或腐败发生(刚才尝试过突发和浪涌主AC 230V);同样的实验是做了板插入BETW在1m×2方铝板上连接了地球平面和相位(在4.4kV的浪涌模式下),结果相同。之后,我尝试了一个VCP(垂直耦合平面)附近的板,刺激了16kV的空气放电,在这种情况下,没有闪光灯擦除或损坏发生。 其他的实验让我认为这种腐败对于董事会上的传导或辐射骚扰是不可忽视的,但对短电压骤降(0.1秒)是不可忽视的。 @ Dana 今天,我将尝试测量VDD电流(如果我的理解是正确的)在一个完全擦除的部分,我会让你知道 以上来自于百度翻译 以下为原文 @ BOB & Dana Dear Bob, we verified that the chip loses flash content in most cases (every byte = 0x00, checksum 0x0000) and in some cases it is just corrupted (checksum different from original after voltage dips). After flash is corrupted or flash is erased we program the same board with the same firmware and after that the board works correctly. I'll check 3.3V with dips and I'll let you know. Could you tell me in which cases the mcu could execute autonomously a flash re-programmation ? For example, what could happen if the mcu jumps to an incorrect istruction? In two board on four I'm testing, the flash erase happens everytime I create more than 10 voltage dips in a sec. Just to let you know yesterday I connected a surge generator to a coil and I stimulated it with also 4.4kV putting the coil near the mcu and no flash erase or corruption occurred (just tried in the past with burst and surge on main AC 230V); the same experiment was done with the board inserted between earth plane and a phase (stimulated in surge mode with 4.4kV) connected on a 1m^2 square aluminium sheet with the same result. After that I tried with a VCP (vertical coupling plane) near the board that was stimulated with 16kV air discharge and also in that case no no flash erase or corruption occurred. Other experiments makes me think that this corruption is not imputable to conducted or irradiated disturbance on the board but to short voltage dips (< 0.1 sec) @Dana Today I'll try to measure VDD current (If my understanding is correct) on a fully erased part and I'll let you know |
|
|
|
这条线索相当古老,但我想知道Matusel是否从柏树那里得到了关于这个问题的答案。因为我在我的一些板上有这个问题,我现在还没有解决它。
正如罗尔夫所言,没有已知的修正。所以我想知道柏树公司是否想出了一个解决方案,比如更好地过滤芯片供应或者其他什么。 以上来自于百度翻译 以下为原文 This thread is rather old, but I want to know if Matusel received an answer from cypress concerning this problem. Cause I'm having this problem on some of my boards and I did not succed to fix it for now. As Rolf stated there is no fix known. So I want to know if Cypress came out with a solution like better filtering for the chip supply or anything else. |
|
|
|
这很难相信,但PSoCs有一些类似APRE编程的“系统”,它们在执行非常基本的功能。其中之一是编程闪存。因此,当你设法调用这个(重复),你可以擦掉你所有的闪光。
更容易的是,只需编程包含安全位的相对较小的区域,当编程时,它会禁止程序员读取闪存,从而显示出0x00读数。 每秒10次的断开将是一件很难管理的事情,我将彻底检查,如果在这些电压“骤降”期间的任何时候,对PSoC的任何输入都被断言一个大于当前VDD或小于VSS的电压。 鲍勃 以上来自于百度翻译 以下为原文 It is hard to believe, but the PSoCs have got something like a pre-programmed "System" on them that are performing very basic functions. One of these is programming flash memory. So when you manage to call this (repeatedly) you may erase all your flash. Much easier would be to just program the relatively small area containing the security bits which when programed will inhibit the read-out of flash memory with a programmer thus showing your 0x00 readings. 10 brownouts per second would be a hard thing to manage and I wold check thoroughly if at ANY time during those voltage "dips" ANY input to the PSoC is asserted a voltage greater than the current Vdd or smaller than Vss. Bob |
|
|
|
项目中设置的闪存安全设置是什么?虽然这并不能解释这个问题,但是可以排除在这个问题背后隐藏功能的可能性。如果闪存块是写保护的,那么SROM函数不能写入闪存。
以上来自于百度翻译 以下为原文 What is the flash security settings set in the project? Though this doesn't explain the problem; but can rule out possibility of SROM functions being behind this problem. If the flash blocks are write protected, then SROM functions cannot write into flash. |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1824 浏览 1 评论
3633 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1509 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
507浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
357浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 08:14 , Processed in 1.315917 second(s), Total 113, Slave 96 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号