ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
339856 Топик полностью
Nihilist (10.07.2012 11:33, просмотров: 201) ответил Nihilist на Да, не тривиально, согласен. Я надеялся, что в коде какие-то явные ошибки и Вам будет достаточно на него посмотреть. Ладно, если получиться победить, отпишусь.
Написал в TI. Вопрос:
MSP430F5510 placed in a device and works as a I2C slave receiver. However, all tests I have been making on MSP-EXP430F5529, because cores(MSP430F5510 and MSP430F5529 have the same problem). There is a bug USCI30 which has been described in SLAZ054J. I tried to fix it using DMA according to workaround. Nevertheless, it does not work. When I test it in debug mode, everything is ok, but if I disconnect MSP-FET430UIF and supplies it from USB, let's name it normal mode, bit UCSCLLOW goes down and SCL line is held in zero. What should I do to solve this issue?
Ответ:
I took a look into the code, and i think you have implemented the DMA transfer correctly, however i can't test it since i don't have the I2C master to test this. What is also quite strange is that you mentioned that the code works correctly when the debugger is attached, but it doesn't work in stand-alone. The only difference i can think of is basically that when the debugger is attached, the PMM (Power Management Module) will be forcode to work in full-performance mode regardless the PMM configuration. This is mentioned in the SLAU208 documentation (http://www.ti.com/litv/pdf/slau208j) - chapter 2.2.9 "SVS/SVM Performance Modes and Wakeup Times". Have you tried for example to setup a timer interrupt blinkin LED to see whether in stand-alone mode the code hangs only because the SCL stalls or even the MSP430 slave does not work at all.
Честно сказать, странно, что у инженера в компании TI нет мастера I2C. По поводу chapter 2.2.9, пробовал в двух регистрах включать Full perfomance. Ядро не запускается :)