Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

LPC - някой впечатления
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=2048
Страница 1 от 3

Автор:  Цецо [ Вто Мар 21, 2006 12:55 pm ]
Заглавие:  LPC - някой впечатления

Всички стигнахме до извода че ARM архитектурата напредва. Понеже вече имам един работещ прототип с LPC2134 реших да постна няколко впечатления. Дано помогнат и на други за в бъдеще. Няма да е само за ARM-a.

Проекта вече придоби слава. За тези които не са го виждали:
http://www.mcu-bg.com/mcu_site/viewtopic.php?t=1972

Представлява J-метър - т.е трябва да измери отделената върху него енергия. Ще се използва за тест на дефибрилатори. Импулса се получава от един 40 до 100uF кондензатор зареден до максимум 5kV. Самия импулс е биполярен, като освен това е накъсан на парченца по 50/100 uS. Общо трае до 10ms. Енергията достига 360J. Пациента е един 50 ома 55 вата резистор, на платката е демонтиран, но за да добирете представа - заема около 80% от ширината на платката - изводите му се виждат на снимката.

Мисля, че такъв шамар е сериозен тест за всяка нисковолтова електроника, а?

Платката я виждате, двуслойка, постарал съм се да има доста земя, но не претендирам да е върха на опроводяването.

Та:

1. LPC - то работи на 20Мхз (2х10), 3,3волта. Не съм регистирал нито един срив в работата. Честно казахно, надявах се да е така, но треперех от страх. За първи път пускам в подобни условия нещо на 3 волта. Досега винаги в тези условия е работил Микрочип (никога не съм имал проблеми с него, породени от смущения). Но Philips не бях пробвал. Е според мен се справя повече от добре. Като процесор - не съм имал проблем с писането на софтуера, документацията е прилична, ползвах IAR. Не съм дебъгвал много, защото да закачиш компютър по време на шока не е много благоразумно. Като архитектура - бавничка му е работата с I/О тата (сравнено с PIC), но след това на калкулациите си показа силата. Тъй като данните ми са 12 битови, 32 битовта архитектура даде значителен тласък спрямо PIC-a. Консумира колкото го дават по дейта шиит. Не съм имал проблеми като пипам с осицлоскопа по краката (чат пат ги окъсявам). Малко тъпо са му разположени портовете и периферията. Особенно пина за стартиране на боотлоадера при мен пречи много - раздробява ми порта, а на мен ми трябва емулация на 12 битова шина данни. Но го заобиколих софтуерно. Досега съм ползвал един таймер, DAC-a, UART (много е близък до 16550 стандарта). Предстои да пусна I2C и боотлоадера. Нещата откъм периферия изглеждат нормално.

2. Алтерата (MAX3064) - предпочетох я пред Xilinx , по препоръка на Кольо (по-стабилна на външни смущения била). Никакви проблеми засега нямам с нея. Идеята е да върти тактува едно АЦП с 1 МХз и да записва данните в една памет. Получава се кръгов буфер с размер 32ms. Така имам предисторията на шока и малко след него, помага ми при анализа. Вътре има едни броячи, буфери и малко логика, нищо специално. Оценката за средата за развой е средна до слаба. Докато я източи човек остава с впечатление, че се опитва да докопа ядрена технология. Не ми беше комфортно с нея (стила е много различен от Протел или Оркад). За справка - не съм ползвал език, директно напрасках схемата с броячите и логиката. Компилатора я компилира. При разполагането на изводите съм се интересувал да ми е удобно за платката (ще го видите ако се вгледате в снимката). Затова и вътре предполагам, че е станала голяма каша. Оптимайзера ме наплю с поне 20 warning-а че скоростта на прохождане ще спадне драстчно. Ама на мен ми трябва 1Мхз така, че го оставих да си кряка. Но пък от алтерата към процесора, АЦП-то и паметта почти всички писти си вървят директно без проходни отвори и плетеници. Голям кеф. Иначе тия 100 крака на двуслойна платката щяха да ме уморят да ги развържа. Програмирал съм я със самоделен програматор. Та работи стабилно, не се рисетва, не се самотрие.

3. АЦП-то - ще напиша няколко думи и за него, защото преди време тука се разгоря една дискусия за аналоговата и цифровата земя. Няколко човека твърдяха че аналоговата земя не трябва да е на полигон. Аз обаче не им се доверих и направих както си знам. Цифровата земя - полигон. Аналоговата - полигон. И от двете страни на платката. Аналоговата част си е в отделен сектор - вижда се на снимката. Полигоните от долната страна заемат почти цялата повърхност, ама нямам апарат сега да ги снимам. Аналоговата земя и цифровата са свързани в една точка. Апропо точно това бяха и препоръките на Linear (LTC1405 e АЦП-то) - полигони и връзване в една точка. Захранванията на АЦП-то (3 на брой) са през филтри (300uH / 10uF). Отделно има още 6 кондензатора по 10uF закачени по чипа (според препоръките). Резултата - стабилни 11 бита при 1Мхз честота на семплиране, биполярен сигнал. Последния бит - играе. Малък офсет се наблюдава (3-4 дискрета) ама не ми е проблем. Определено АЦП-то работи както искам от него.

Понаписах доста, дано на някой да му е полезно.

Автор:  Сашо [ Вто Мар 21, 2006 2:19 pm ]
Заглавие:  Re: LPC - някой впечатления

Цецо написа:
Понаписах доста, дано на някой да му е полезно.


Иска ли питане!

От хора дето знаят какво правят всяка информация е полезна.

Ама като не стига време за толкова писане!?

Автор:  Реконструктор [ Вто Мар 21, 2006 4:19 pm ]
Заглавие: 

За мен, както може би се досещаш, ще е изключително интересно да науча някои неща за програмирането. :mrgreen: Платка ще си купувам готова, та за това няма да се разправям с хардуер. Интересуват ме разните му компилатори/дебъгери, ИДЕ-та и всичко по темата.
Щото при мен наближава момента да го захапвам този ARM7.

Автор:  asp [ Вто Мар 21, 2006 6:39 pm ]
Заглавие: 

Аз също се занимавам с тестове на медицинска апаратура и ми е интересно да разбера че не съм единствен в българия.
Каза че пациента ти е резистор 50 ома.
В IEC601-1 е определено активното съпротивление на пациента да е 1 килоом AAMI load се нарча и всъщност е честотнозависим товар.
Схема лесно ще намериш в гоогала.

Какво смяташ по този въпрос?

Автор:  TheWizard [ Вто Мар 21, 2006 7:05 pm ]
Заглавие: 

Заради ADC-то ли си го направил толкова сложна реализация и със PC ли работи този тестер...

Автор:  ДедоБоре [ Вто Мар 21, 2006 9:55 pm ]
Заглавие: 

10х цецо
браво за изчерпателното инфо

Автор:  Цецо [ Сря Мар 22, 2006 12:47 pm ]
Заглавие: 

Цитат:
За мен, както може би се досещаш, ще е изключително интересно да науча някои неща за програмирането. Платка ще си купувам готова, та за това няма да се разправям с хардуер. Интересуват ме разните му компилатори/дебъгери, ИДЕ-та и всичко по темата.
Щото при мен наближава момента да го захапвам този ARM7.


Дебъгер - от Balkana. Среда - IAR. С това работих, ако решиш да си с същото - ще помагам. Мисля за в бъдеще да мина на GCC и Eclipse, но все още не мога да разбера дебъгването как ще да става.

Цитат:
Аз също се занимавам с тестове на медицинска апаратура и ми е интересно да разбера че не съм единствен в българия.
Каза че пациента ти е резистор 50 ома.
В IEC601-1 е определено активното съпротивление на пациента да е 1 килоом AAMI load се нарча и всъщност е честотнозависим товар.
Схема лесно ще намериш в гоогала.

Какво смяташ по този въпрос?


Ами 1 килоом е съпротивлението при ниски токове. Наистина е честотно зависимо. Но при високи токове настъпва поляризация на клетките, може би някакви пробиви в стените(определено не съм наясно с медицинския аспект на проблема), клетките стават проводими и съпротивлението при един дефибрилационен импулс рязко спада до около 50 ома, като интересното е, че характера му е "почти" активен. Мисля че според статистиката варира от 25 до 180 ома (варира от възраст, килограми - масни наслоявания, тип кожа). Като преобладаващо при повечето хора е около 80 ома. Но по стандарт дефибрилаторите се нормират за 50 ома.

Цитат:
Заради ADC-то ли си го направил толкова сложна реализация и със PC ли работи този тестер...


Ами ADC-то е 12 бита 1 Mhz. Епохата на шока е около 20 мс. Но както казах ми трябва и малко от времето около шока. Затова и го направих с независим кръгов буфер, а процесора когато получи сигнал че е дошъл шока, изчаква да минат 30 мс и после изчита буфера и смята енергията. Мислех дали не мога да реализирам управлението на буфера директно с процесора, но ми се видя тежичка задача - трябваше да сложа процесор с изведена шина за данни (вътрешната памет няма да стигне) и да го пусна на висока честота. А това значи повече проблеми с EMI. А и все си мисля че процесор на който шината му е изведена отвън е по неустойчив на смущения и вероятноста за фалове расте.
Идеята е да работи без PC. Но има връзка за да може да се ъпдейтва фирмуера и да може данните за шока да се пращат на компютъра ако се наложи.

Автор:  TheWizard [ Сря Мар 22, 2006 2:14 pm ]
Заглавие: 

1M семпъли (1М, 12 битови семпли)
или
1Мhz / ~12 bit = по малко от 83к семпъла/sec ???

Автор:  Цецо [ Сря Мар 22, 2006 3:41 pm ]
Заглавие: 

Де да беше 83к. На 12bita*1МHz

Автор:  TheWizard [ Сря Мар 22, 2006 3:50 pm ]
Заглавие: 

ааа ясно, усложни го още малко и си добави супорт към РС - опция сенд RAM - за рисуване на графиката...

Автор:  Цецо [ Сря Мар 22, 2006 3:52 pm ]
Заглавие: 

Има го. Но само на тестовия вариант. На крайния ще е изключена. Така казаха шефовете - клиента не му трябвало да гледа графика.

Автор:  Цецо [ Вто Юни 20, 2006 11:58 am ]
Заглавие: 

Ето го и последния вариант на този проект:

4 слойна платка, метални екрани, филтри и пр. все с цел борба с EMI. Честно казано - слаб в тая материя и съм ги борил спазвайки съвети на хора които са го правили, без да разбирам до дъно материята. Но....
Получих писмо от шефовете, че платката в този си вид е минала пълни тестове за съвместимост по IEC60601-1-2 (както за излъчване, така и за устойчивост). Кеф.

Ето и някоя и друга снимка:

Обърнете внимание на кварца. Винаги си имам навика, да заземявам корпуса. В първата версия на платката използвах кварц с нормални крака. Отдолу имаше мед на която си оставям малко петно в маската, та лягайки отгоре, с поялника го заземявам. Да ама на новата, от разни съображения (технологичност, да не му се показват краката над екрана отдолу и пр.) взех та сложих SMD кварц. И той не се заземява по подразбиране. Общо взето на всички платки които са ми минали през ръцете, рядко някой си прави труда да го заземи. И затова аз си рекох, пък нека си виси корпуса, кво толкоз. Да ама не. Като го перна с киловолтите и си ебава майката - рисети, чудесии, забиви. Три дена борба - на кой да му хрумне, бях забравил, че съм сменил типа на кварца. Между другото установих, че и факта че кварца е успореден на мощния резистор също влияе в негативна посока (мамка му и електромагнитно поле). Като го заземих - опа, взе та се стабилизира. Та да го имате предвид (ако случайно ви се наложи да гърмите киловолти около кварца де).

Едит: Не обръщайте внимание на карфицита в последната снимка. Тя не е част от проекта и присъствието и е крайно нежелателно - беше отсранена навреме.

Прикачени файлове:
100_2485.JPG
100_2485.JPG [ 44.96 KiB | Прегледано 2384 пъти ]
100_2484.JPG
100_2484.JPG [ 47.97 KiB | Прегледано 2384 пъти ]
100_2483.JPG
100_2483.JPG [ 68.96 KiB | Прегледано 2430 пъти ]

Автор:  asp [ Вто Юни 20, 2006 1:10 pm ]
Заглавие: 

Яко

Автор:  Balkana [ Вто Юни 20, 2006 1:33 pm ]
Заглавие: 

Много гот :) Честито!

Автор:  bateAz [ Вто Юни 20, 2006 1:40 pm ]
Заглавие: 

Хареса ми идеята за това тенекенце върху платката. Като гръмнат чиповете, няма да хвърчат осколки. :lol:

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/