<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ReAl</title>
	<atom:link href="http://real.kiev.ua/feed/langswitch_lang/en/" rel="self" type="application/rss+xml" />
	<link>http://real.kiev.ua</link>
	<description>.  ..  ..o .oO .oO       failed</description>
	<lastBuildDate>Tue, 31 Jan 2012 19:43:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>FT2232C, FT2232L, FT2232D</title>
		<link>http://real.kiev.ua/2012/01/30/ft2232c-ft2232l-ft2232d/</link>
		<comments>http://real.kiev.ua/2012/01/30/ft2232c-ft2232l-ft2232d/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 21:17:58 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[FAQ]]></category>
		<category><![CDATA[USB-FTDI]]></category>
		<category><![CDATA[FT2232*]]></category>
		<category><![CDATA[FTDI]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1719</guid>
		<description><![CDATA[Час від часу зустрічаю запитання по відмінностях між цими мікросхемами. В описах чи відкритих проектах в інтернеті згадується FT2232C, а в продажу зараз є FT2232D. Виникають сумніви у сумісності програм та адаптерів. Як це часто буває, всі ці сумніви розвіюються при перегляді сторінки опису FT2232D. Але чомусь багатьом легше не подивитися на сайті виробника, а [...]]]></description>
			<content:encoded><![CDATA[<p>Час від часу зустрічаю запитання по відмінностях між цими мікросхемами. В описах чи відкритих проектах в інтернеті згадується FT2232C, а в продажу зараз є FT2232D. Виникають сумніви у сумісності програм та адаптерів.<br />
Як це часто буває, всі ці сумніви розвіюються при перегляді <a class="linkext" href="http://www.ftdichip.com/Products/ICs/FT2232D.htm">сторінки опису FT2232D</a>. Але чомусь багатьом легше не подивитися на сайті виробника, а спитати на форумі чи набрати рядок «різниця FT2232C та FT2232D» в пошуковику. Ну що ж, ось він, цей рядок для нього, хай йому буде легше <img src='http://real.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Документації на старіші версії мікросхем на сайті вже немає, але безпосередньо на сторінці сказано:</p>
<blockquote><p>
The FT2232D is the 3rd generation of FTDI&#8217;s popular USB UART/FIFO IC. The FT2232D is an updated version of the FT2232C and its lead free version, the FT2232L.  Please note that the FT2232D is not an new generation of device.</p>
<p>The FT2232D is lead free and pin compatible with the original FT2232C and FT2232L devices. All the original device features are supported with some additional features available including a CPU-style FIFO mode and an extended operating temperature range.
</p></blockquote>
<p><span id="more-1719"></span></p>
<p>Першою двоканальною мікросхемою USB-UART з підтримкою режимів <abbr title="Multi-Protocol Synchronous Serial Engine">MPSSE</abbr> та <abbr title="Synchronous Bit-Bang">SBB</abbr> була FT2232C. Це третя генерація інтерфейсних мікросхем від фірми FTDI. Першими двома були одноканальний міст USB-UART FT8U232/FT232AM/FT232BM та міст USB-FIFO FT8U245/FT245AM/FT245BM.</p>
<p>FT2232L — безсвинцева (Lead-Free) версія мікросхеми FT2232C, різниці в кремнії між ними, судячи з усього, немає.</p>
<p>FT2232D має розширений температурний діапазон (-40..+85°C замість 0..+70°C для FT2232C та L). Також вона має додатковий режим — CPU FIFO mode.</p>
<p>У мене збереглася документація на всі три версії. Для FT2232C та FT2232L вона відрізняється лише літерою в назві мікросхеми. Для FT2232D електричні характеристики (рівні напруг, струмів, опір підтяжок, затримки) ідентичні з попередньою версією кристалу.</p>
<p>Схоже, що в реалізації режиму CPU FIFO в кристалі FT2232C/L були помилки. Місцями в документації на ці мікросхеми режим згадується, але у табличках призначення виводів в розділі <strong>5.2 IO Pin Definitions by Chip Mode</strong> явно прибрано одну колонку. Таблицю не відцентровано на сторінці, як всі інші таблиці в документі. Крім того, відсутній цілий розділ, є розрив в нумерації.</p>
<p>В Revision History документа є такі рядки:</p>
<blockquote><p>
DS2232L Version 1.4 – Updated July 2004<br />
	&#8230;<br />
	Section 9.4 CPU FIFO Interface mode removed &#8211; no longer supported.
</p></blockquote>
<p>Всі ці три мікросхеми мають однаковий ідентифікатор і драйвери/бібліотеки від FTDI для всіх трьох повертають однаковий код пристрою, який в заголовочному файлі <code class="codecolorer text default"><span class="text">ftd2xx.h</span></code> має назву <code class="codecolorer text default"><span class="text">FT_DEVICE_2232C</span></code>. Тобто по коду, який повертають функції бібліотеки <code class="codecolorer text default"><span class="text">FT_GetDeviceInfo()</span></code> та <code class="codecolorer text default"><span class="text">FT_GetDeviceInfoList()</span></code> розрізнити ці мікросхеми неможливо.</p>
<p>Оскільки режим CPU FIFO мені ніколи не був потрібен, я не цікавився можливістю програмного визначення версії кристалу FT2232.</p>
<p>AVReAl, як і OpenOCD чи avrdude, працює з цими мікросхемами в режимі MPSSE, підтримка якого однакова в усіх трьох мікросхемах. Різниці в роботі з мікроконтролерами AVR та ARM, наприклад, в швидкості програмування, між цими мікросхемами немає.<br />
Міняти їх можна в будь-якому напрямку:</p>
<ul>
<li>Знайшли стару схему, де вказана FT2232L, а в продажу є лише FT2232D (хоча «спеціально для Вас» за подвійну оплату можуть і FT2232L привезти)? Ставте FT2232D і працюйте.</li>
<li>В новій схемі стоїть FT2232D, а в столі завалялася стара FT2232C? Ставте стару.<br />
Хіба що про всяк випадок перевірте, чи не використовує нова схема режим CPU FIFO (в програматорах мікроконтролерів з однієї мікросхеми FT2232* навряд чи цей режим використовуватиметься).</li>
</ul>
<p>А от FT2232H має деякі особливості. Дві найважливіших з точки зору програмування AVR такі:<br />
По-перше, у неї <a class="linkint" href="/2012/01/05/avreal-and-mpsse#DUAL_MPSSE">режим MPSSE працює на обох каналах A та B.</a><br />
По-друге, вона працює в режимі USB 2.0 High Speed (тобто 480 мегабіт на секунуду «неформатованої» швидкості) і максимальна частота SCK у неї 30 МГц, а не 6.</p>
<p>Порядок тут саме такий тому, що для AVR в режимі ISP частота SCK вище 3 МГц рідко потрібна. А можливість програмувати в два канали зручна хоча б тим, що при розробці комунікаційних програм можна підключити одночасно дві плати, а не перекидати кабель програмування з однієї на іншу.<br />
Висока ж швидкість обміну з комп’ютером  дає лише те, що при <em>одночасному</em> програмуванні двох плат двома паралельно запущеними копіями AVReAl швидкість роботи кожного екземпляру не зменшується.</p>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2012/01/30/ft2232c-ft2232l-ft2232d/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Шматочок дерева</title>
		<link>http://real.kiev.ua/2012/01/18/shmatochok-dereva/</link>
		<comments>http://real.kiev.ua/2012/01/18/shmatochok-dereva/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 21:36:34 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Деревина]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1700</guid>
		<description><![CDATA[Нещодавно пішов і взяв на балконі шматочок дерева. Кілька рухів пилкою, трохи роботи ножем та напилком, два отвори. Вийшла ось така деталька. І захотілося щось зробити руками, і не хотілося викидати річ, яка зламалася, але могла б ще довго працювати. Зламалася ось ця лампа (на фото вона вже відремонтована). Шарнір лампи в деяких місцях мав [...]]]></description>
			<content:encoded><![CDATA[<p>Нещодавно пішов і взяв на балконі шматочок дерева. Кілька рухів пилкою, трохи роботи ножем та напилком, два отвори. Вийшла ось така деталька.</p>
<p><center><img src="http://real.kiev.ua/wp-content/uploads/2012/01/IMG_6820s.jpg" alt="Дерев’яний протез для лампи" title="Дерев’яний протез для лампи" width="480" height="240" class="aligncenter size-full wp-image-1715" /></center></p>
<p>І захотілося щось зробити руками, і не хотілося викидати річ, яка зламалася, але могла б ще довго працювати. </p>
<p><span id="more-1700"></span></p>
<p>Зламалася ось ця лампа (на фото вона вже відремонтована). Шарнір лампи в деяких місцях мав настільки тонкий пластик, що я навіть здивувався, як він пропрацював вже мінімум років шість-сім.</p>
<p><center><img src="http://real.kiev.ua/wp-content/uploads/2012/01/IMG_6837.jpg" alt="Відремонтована лампа" title="Відремонтована лампа" width="640" height="480" class="aligncenter size-full wp-image-1703" /></center></p>
<p>Довелося зробити протез. Одну ступінь свободи було втрачено, але вона не так часто і використовувалася. Але тепер рідна-звична лампа ще попрацює.<br />
На наступному фото дерев’яний протез для метало-пластикової лампи на місці роботи:</p>
<p><center><img src="http://real.kiev.ua/wp-content/uploads/2012/01/IMG_6822.jpg" alt="Протез шарніра на місці" title="Протез шарніра на місці" width="640" height="426" class="aligncenter size-full wp-image-1702" /></center></p>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2012/01/18/shmatochok-dereva/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>І знову лохотрон</title>
		<link>http://real.kiev.ua/2012/01/10/i-znovu-lohotron/</link>
		<comments>http://real.kiev.ua/2012/01/10/i-znovu-lohotron/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 17:22:50 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Лохотрон]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1684</guid>
		<description><![CDATA[Прийшов у пошту лист такого змісту: Від: Приват24 security@privat24.ua Кому: avreal Ваш профіль добігає кінця. Для того, щоб залишатися активним, будь ласка, натисніть на посилання нижче і слідуйте умови дії: httр://www.рrivat24-ua.com/lоgin Спасибі Вам, Приват24 Знову, як вже було з SMS-лохотроном, відразу зрозуміло, що щось тут не те. І справа не в слові «спасибі», як написано [...]]]></description>
			<content:encoded><![CDATA[<p>Прийшов у пошту лист такого змісту:</p>
<blockquote><p>Від: Приват24 security@privat24.ua<br />
Кому: avreal</p>
<p>Ваш профіль добігає кінця.</p>
<p>Для того, щоб залишатися активним, будь ласка, натисніть на посилання нижче і слідуйте умови дії:</p>
<p>httр://www.рrivat24-ua.com/lоgin</p>
<p>Спасибі Вам, Приват24</p></blockquote>
<p>Знову, як вже було з <a class="linkint" href="/2010/10/01/icq-sms-lohotron/">SMS-лохотроном</a>, відразу зрозуміло, що щось тут не те.</p>
<p><span id="more-1684"></span><br />
І справа не в слові «спасибі», як написано в дописі <a class="linkext" href="http://stasparshin.com/node/221">Как распознать фишинговый сайт &#8230;</a> (а от до інших рекомендацій в тому тексті варто поставитися уважно).<br />
Пів України використовує слово «вірогідно» в сенсі «імовірно» — і нічого (принаймні як ознаку підробки використати це не вийде). Навіть «Ваш профіль добігає кінця» (а не «Термін дії Вашого профілю») могло проскочити, помилки всі роблять.<br />
Мене дужче «слідуйте умови дії» шкрябнуло, наче взагалі з англійської перекладено автоматичним перекладачем.<br />
А <a class="linkext" href="http://hrinchenko.com/slovar/znachenie-slova/55743-spasybi.html" title="СПАСИБІ. Словник української мови Б.Грінченка.">«спасибі»</a> — слово як слово.</p>
<p>Повернемося до листа. У моєму випадку:</p>
<p>По-перше, хоч поле «Від» і підробляється елементарно, але поле «Кому» в даному випадку не менш важливе. Цей лист прийшов avreal-у, тобто на адресу електронної пошти, яку я використовую лише для листування з приводу програми. І ніде, ні в яких реєстраціях її не використовую.</p>
<p>Ну а по-нульове — у мене просто нема облікового запису в Приват-24 <img src='http://real.kiev.ua/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>З цікавості зазирнув по лінку. Не відповідає. Пошукав у інтернеті по ключових фразах з листа — це вже обговорювалося на сайті <a class="linkext" href="http://agent.privatbank.ua/blogs/post/9211/">агентської мережі Приватбанку</a>. Схоже, «хто треба» звернувся «куди треба» і сайт заблокували.</p>
<p>Наостанок до інших порад додам свої:</p>
<p>Зараз не важко завести кілька E-mail адрес. На додаток до основної, через яку ви спілкуєтеся зі світом, заведіть окрему, яку використовуйте лише для реєстрацій на форумах і тому подібного. Ще одну — для «важливих» реєстрацій.<br />
І от цю останню теж не «засвічуйте». Імовірність отримання на неї запрошень на фіктивні сайти буде дуже мала.<br />
Буде впевненість, що на основну та «форумну» адреси не можуть прийти запрошення на відновлення паролю чи продовження дії облікового запису в банку. І такі запрошення прийняти участь в лохотронах можна буде ігнорувати по адресі «Кому». Не аналізуючи інший текст чи проміжні адреси, як це зробив автор повідомлення про фішінговий сайт (і що не кожен може зробити).</p>
<p>Якщо є хоч найменший сумнів — пошукайте в мережі ключові фрази з листа. Краще брати їх в лапки, наприклад, <a class="linkext" href="http://www.google.com/search?q=%22Ваш+профіль+добігає+кінця%22&#038;ie=utf-8&#038;oe=utf-8">&#8220;Ваш профіль добігає кінця&#8221;</a>. Тоді буде менше пошукового сміття з цими словами, розкиданими по всій сторінці. Дуже може бути, що хтось вже розібрався і цей обман вже обговорюють.</p>
<p>І головне — вічне «будьмо уважні».</p>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2012/01/10/i-znovu-lohotron/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AVReAl and  MPSSE</title>
		<link>http://real.kiev.ua/2012/01/05/avreal-and-mpsse/</link>
		<comments>http://real.kiev.ua/2012/01/05/avreal-and-mpsse/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 19:29:48 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[USB-FTDI]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[MPSSE]]></category>
		<category><![CDATA[programmer]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1599</guid>
		<description><![CDATA[Some of FTDI USB converter chips have MPSSE — hardware engine for implementation of serial interfaces like JTAG, SPI, I2C. FT2232D and previous versions FT2232C, FT2232L support Full-Bandwidth USB and have upper TCK/SCK frequency level 6&#160;MHz. FT2232H, FT4232H, FT232H work in USB&#160;2.0 Hi-Speed mode and have 30&#160;MHz limit. MPSSE defines DBUS0..DBUS2 as TCK/SCK, TDI/MOSI and [...]]]></description>
			<content:encoded><![CDATA[<p>Some of FTDI USB converter chips have <abbr title="Multi-Protocol Synchronous Serial Engine">MPSSE</abbr> — hardware engine for implementation of serial interfaces like JTAG, SPI, I2C. FT2232D and previous versions FT2232C, FT2232L support Full-Bandwidth USB and have upper TCK/SCK frequency level 6&nbsp;MHz. FT2232H, FT4232H, FT232H work in USB&nbsp;2.0 Hi-Speed mode and have 30&nbsp;MHz limit.</p>
<p>MPSSE defines DBUS0..DBUS2 as TCK/SCK, TDI/MOSI and TDO/MISO. AVR ISP interface requires RESET signal. DBUS3 (TMS/CS) can be used for this purpose and AVReAl uses it by default.</p>
<p><span id="more-1599"></span></p>
<p>It is not mandatory to use a special programmer with AVReAl. One of simple evaluation boards is enough:</p>
<ul>
<li><a class="linkext" href="http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_FT2232H_Mini_Module.pdf">FT2232H Mini Module</a></li>
<li><a class="linkext" href="http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_FT4232H_Mini_Module.pdf">FT4232H Mini Module</a></li>
<li><a class="linkext" href="http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_C232HM_MPSSE_CABLE.pdf">USB Hi-Speed to MPSSE cable</a></li>
<li><a class="linkext" href="http://www.ftdichip.com/Support/Documents/DataSheets/DLP/dlp2232m-v16-ds.pdf">DLP-2232M</a></li>
<li><a class="linkint" href="/old/avreal/en/adapters">Simple circuit with FT2232</a> on prototyping board</li>
</ul>
<p>Switches are as simple as hardware in use:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-aft2232 -az</div></div>
<p>The name <code class="codecolorer text default"><span class="text">ft2232</span></code> in switch <a class="linkint" href="/old/avreal/en/description.html#SW_A">-a</a> is suitable for FT2232C, FT2232L, FT2232D.<br />
Change it to appropriate value for FT2232H, FT4232H, FT232H.</p>
<p><a class="linkint" href="/old/avreal/en/description#SW_A">-az</a> switch is used because simple boards do not contain any buffers. AVReAl will set SPI and RESET pins to input mode and thus FTDI chip will be disconnected from the microcontroller. Be aware that inputs will be pulled to VCCIO line with FTDI chip weak internal pull-ups. Also pay your attention to output current limit. For instance, FT2232D in default mode has 0.5&nbsp;V logic &#8217;0&#8242; level at 2&nbsp;mA load curent and  3.3&nbsp;V VCCIO supply. It means that FT2232D output driver might not provide required &#8217;0&#8242; level with 1&nbsp;k external pull-up on RESET line. Enable &#8220;High current I/O&#8221; mode in configuration EEPROM.</p>
<p>If default description of the device in configuration EEPROM (for example, &#8220;Dual RS232&#8243; for FT2232C/L/D) is not changed, <a class="linkint" href="/old/avreal/en/description.html#SW_P">-p</a> &#8220;port&#8221; switch may not be used.</p>
<p><a name="DUAL_MPSSE">FT2232H and FT4232H have two MPSSE-capable channels. If <code class="codecolorer text default"><span class="text">-p</span></code> switch isn&#8217;t used, <code class="codecolorer text default"><span class="text">A</span></code> channel will be chosen by AVReAl. Add <code class="codecolorer text default"><span class="text">-p</span></code> switch with the device description or its serial number for <code class="codecolorer text default"><span class="text">B</span></code> channel using.</a></p>
<p>Two MPSSE-capable channels give possibility to connect two microcontroller boards and to select one, which will be programmed, by <code class="codecolorer text default"><span class="text">-p</span></code> switch. Someone can run even two AVReAls and program two microcontrollers simultaneously. Programming speed will not be affected because throughput of USB&nbsp;2.0 Hi-Speed is sufficient.</p>
<p>Switches for <code class="codecolorer text default"><span class="text">B</span></code> channel of FT2232H without EPROM or with empty EEPROM are shown below. If the device attribute (description or serial number) contains spaces, the attribute or the whole switch must be quoted:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-aft2232h -az -pd=&quot;Dual RS232-HS B&quot;<br />
-aft2232h -az &quot;-pd=Dual RS232-HS B&quot;</div></div>
<p>You can get a list of connected FTDI devices with their descriptions and serial numbers by using following switches:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-aft2232 -p?</div></div>
<p>AVReAl supports <a class="linkint" href="/old/avreal/en/description.html#PINMAP">adapter pin remapping</a> in a configuration file or a command line. If it is required RESET line can be mapped to any pin that is able to be controlled in MPSSE mode. Let ADBUS7 is used for RESET. Then <code class="codecolorer text default"><span class="text">-a</span></code> switch looks like:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-aft2232:reset=adbus7<br />
-aft4232h:reset=dbus7</div></div>
<p>If RESET line is inverted (for instance, by transistor), sign <code class="codecolorer text default"><span class="text">~</span></code> is used before the signal name. As mentioned above, MPSSE fixes SPI signals to specific pins. So the signals can not be remapped to another pins though inversion can be added. Let all interface lines including MISO are inverted by 74HC04. In addition, RESET is connected to ACBUS3. In this case <code class="codecolorer text default"><span class="text">-a</span></code> switch looks like:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-aft2232:sck=~adbus0:mosi=~adbus1:miso=~adbus2:reset=~acbus3<br />
-aft4232h:sck=~dbus0:mosi=~dbus1:miso=~dbus2:reset=~cbus3</div></div>
<p>You also can create a configuration file named, for example <code class="codecolorer text default"><span class="text">adapter.cfg</span></code>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sck = ~adbus0<br />
mosi = ~adbus1<br />
miso = ~adbus2<br />
reset = ~acbus3</div></div>
<p>and use another form of the switch:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-aft2232=adapter.cfg</div></div>
<p>
&nbsp;
</p>
<hr width="25%" align="left" />
<p>
&nbsp;
</p>
<p>MPSSE engine gives a possibility to reach easily high clocking speed of JTAG and SPI. That&#8217;s why there are many microcontroller programming adapters based on MPSSE-capable FTDI chips. The adapters are intended mainly for ARM microcontrollers programming and debugging via JTAG. Although all of them can be used for AVR programming in Low Voltage ISP mode via SPI.</p>
<p>Most adapters have buffers or level translators, LED indicators. Unfortunately,  in different adapters these resources are controlled by different pins.</p>
<p>Adapter reviews with recommendations and configuration file samples will be made in future posts in <a class="linkint" href="/category/avreal/adapters-drivers/usb-ftdi/">AVReAl » Adapters and Drivers » USB-FTDI</a> category.</p>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2012/01/05/avreal-and-mpsse/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012</title>
		<link>http://real.kiev.ua/2011/12/31/2012/</link>
		<comments>http://real.kiev.ua/2011/12/31/2012/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 21:59:46 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Calendar]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1650</guid>
		<description><![CDATA[І знову є традиційний календар на наступний рік. Завантажуйте, друкуйте&#8230; На цей раз вигляд трохи інший. Перший календар було зроблено ще у Star Office 5.2 для Windows. Більші картинки було взято з його «арт-бібліотеки», а менші біля назв місяців — то були символи з шрифтів wingdings та webdings. StarOffice замінився на OpenOffice 1.x, 2.x. З [...]]]></description>
			<content:encoded><![CDATA[<p>І знову є традиційний календар на наступний рік.</p>
<p><a class="linkint" href="http://real.kiev.ua/wp-content/uploads/2011/12/clnd2012.pdf"><img src="http://real.kiev.ua/wp-content/uploads/2011/12/clnd2012.png" alt="" title="Календар на 2012 рік у форматі pdf" width="400" height="142" class="aligncenter size-full wp-image-1652" /></a></p>
<p>Завантажуйте, друкуйте&#8230;</p>
<p>На цей раз вигляд трохи інший.<br />
Перший календар було зроблено ще у Star Office 5.2 для Windows. Більші картинки було взято з його «арт-бібліотеки», а менші біля назв місяців — то були символи з шрифтів wingdings та webdings.</p>
<p>StarOffice замінився на OpenOffice 1.x, 2.x.<br />
З часом щось совалося в шрифтах і деякі зображення змінилися, але великі картинки залишалися тими ж.</p>
<p>Після переходу у Лінукс календар зберігся, бо згадані шрифти однак ставилися в пакеті з іншими з допомогою ttf-mscorefonts-installer. Але цього разу пропало кілька картинок-символів. Виявилося, що одного із згаданих шрифтів в убунті вже нема, довелося пошукати інші символи.<br />
Це було останнім поштовхом до заміни картинок у лівому верхньому кутку на «рідніші».</p>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2011/12/31/2012/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AVReAl update &#8212; 1.28r9</title>
		<link>http://real.kiev.ua/2011/12/21/avreal-update-1-28r9/</link>
		<comments>http://real.kiev.ua/2011/12/21/avreal-update-1-28r9/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 11:19:51 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[FT232H]]></category>
		<category><![CDATA[MPSSE]]></category>
		<category><![CDATA[synchronisation]]></category>
		<category><![CDATA[programmer]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1593</guid>
		<description><![CDATA[avreal v1.28r9 (Tue 2011-12-20) has been released. FT232H MPSSE mode support added. Delays processing in Windows version changed: lower CPU load for -k/-K switches. Resynchronisation method changed for all microcontrollers. Resync process started with one attempt of RESET pulse method then continued with SCK pulse method. More about synchronisation.]]></description>
			<content:encoded><![CDATA[<p>avreal <a class="linkint" href="/avreal/download#128R9">v1.28r9 (Tue 2011-12-20)</a> has been released.</p>
<ul>
<li>
<a class="linkext" href="http://www.ftdichip.com/Products/ICs/FT232H.htm">FT232H</a> MPSSE mode support added.</li>
<li>
Delays processing in Windows version changed: lower CPU load for <a class="linkint" href="http://real.kiev.ua/old/avreal/en/description#SW_K">-k/-K</a> switches.</li>
<li>Resynchronisation method changed for all microcontrollers.<br />
Resync process started with one attempt of RESET pulse method then continued with SCK pulse method.<br />
<a class="linkint" href="/2011/12/20/synhronyzatsiya-isp-prohramatora-z-avr/">More about synchronisation.</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2011/12/21/avreal-update-1-28r9/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ISP-programmer to AVR synchronisation</title>
		<link>http://real.kiev.ua/2011/12/20/synhronyzatsiya-isp-prohramatora-z-avr/</link>
		<comments>http://real.kiev.ua/2011/12/20/synhronyzatsiya-isp-prohramatora-z-avr/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 18:34:34 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[AVReAl]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[SPI]]></category>
		<category><![CDATA[synchronisation]]></category>
		<category><![CDATA[programmer]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1583</guid>
		<description><![CDATA[AVR ISP-programming starts with RESET activation following by transmitting of programming enable instruction. Entry sequence requirement is that SCK must be set to &#8217;0&#8242; during RESET activation. Otherwise SCK falling edge causes unintended programming hardware state change. The falling edge distorts 4-byte programming instruction. The microcontroller does not recognise it and does not enter programming [...]]]></description>
			<content:encoded><![CDATA[<p>AVR ISP-programming starts with RESET activation following by transmitting of programming enable instruction. Entry sequence requirement is that SCK must be set to &#8217;0&#8242; during RESET activation. Otherwise SCK falling edge causes unintended programming hardware state change.</p>
<p><center><img src="http://real.kiev.ua/wp-content/uploads/2011/12/AVR-programming-waveforms.png" alt="AVR programming waveforms" title="AVR programming waveforms" width="640" height="280" class="aligncenter size-full wp-image-1586" /></center></p>
<p>The falling edge distorts 4-byte programming instruction. The microcontroller does not recognise it and does not enter programming mode. There is no sense to send programming entry instruction again because byte-level command&#8217;s phase is shifted by one SCK period. The last SCK pulse of previous instruction will act as extra pulse for subsequent command.</p>
<p>Synchronisation can also be corrupted during programming process. Read more in publication about <a class="linkint" href="/2010/07/28/avreal-synchronisation-lost/">AVReAl &#8220;synchronisation lost&#8221; message.</a></p>
<p>Atmel datasheets describe two methods for synchronisation recovery.</p>
<p><span id="more-1583"></span></p>
<p>The first method uses additional SCK pulse after non-successful program entry command. That way byte-oriented command packet is shifted by one bit until the microcontroller recognises the command.</p>
<blockquote><p>
<strong>Low-voltage Serial Programming Algorithm</strong><br />
&#8230;<br />
3. The serial programming instructions will not work if the communication is out of synchronization. When in sync, the second byte ($53) will echo back when issuing the third byte of the Programming Enable instruction. Whether the echo is correct or not, all four bytes of the instruction must be transmitted. If the $53 did not echo back, <code class="codecolorer text default"><span class="text">give SCK a positive pulse</span></code> and issue a new Programming Enable instruction. If the $53 is not seen within 32 attempts, there is no functional device connected.
</p></blockquote>
<p>The first method is described in datasheets for AT90S4433, AT90S8515, ATtiny12, ATtiny15, ATtiny22, ATmega163 and older micros.<br />
For ATtiny13, ATtiny26, ATmega8, &#8230; ATmega128 and newer it is recommended a second one:</p>
<blockquote><p>
<strong>Serial Programming Algorithm</strong><br />
&#8230;<br />
3. The Serial Programming instructions will not work if the communication is out of synchronization. When in sync. the second byte (0&#215;53), will echo back when issuing the third byte of the Programming Enable instruction. Whether the echo is correct or not, all four bytes of the instruction must be transmitted. If the 0&#215;53 did not echo back, <code class="codecolorer text default"><span class="text">give RESET a positive pulse</span></code> and issue a new Programming Enable command.
</p></blockquote>
<p>Thus datasheets recommend the synchronisation recovery method with RESET pulse for all modern AVR micros. RESET acts as Chip Select input for programming hardware.<br />
There is a resynchronisation method flag in AVReAl chip description table. So AVReAl uses suitable method for each AVR microcontroller.</p>
<p>However the second method is not a <em>re</em>synchronisation method. It is just repeating of programming enable sequence &#8220;reset and send instruction&#8221;.</p>
<p>Let a microcontroller is programmed with a code that set active high level on SCK pin. That is &#8220;SCK must be low during reset activation&#8221; requirement does not meet. Programming enable instruction will fail. The programmer will apply a positive pulse on RESET pin and send a new programming instruction. If the microcontroller has enough time to set high level on SCK again than a new programming enable instruction will fail again.<br />
AVReAl attempts to lower probability of scenario described above by making RESET pulse width about a few core clock periods. It uses core clock frequency from <a class="linkint" href="/old/avreal/en/description#SW_O">-o</a> switch.</p>
<p>There is a discrete change in the pulse width determined by a specific hardware programmer. Firmware can change core clock frequency. In some cases RESET pulse might not help. However this situation happens rarely if you select an appropriate value in <strong>-o</strong> switch.</p>
<p>Time to time I look through the Atmel AVR Studio microcontroller description files and compare device signatures and fuses with Atmel datasheets. I noticed that the files have many programming parameters but have not any syncronisation method flag.<br />
I checked AVR&nbsp;ISP&nbsp;mkII and AVR&nbsp;Dragon behavior and found out that both of them use SCK-pulse resynchronisation for all microcontrollers. Atmel datasheets don&#8217;t matter for Atmel programmers!</p>
<p>After that I decided to change resynchronisation procedure in AVReAl.<br />
Starting from next release the procedure will be the same for all AVRs: SCK pulse will be used.</p>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2011/12/20/synhronyzatsiya-isp-prohramatora-z-avr/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сніг</title>
		<link>http://real.kiev.ua/2011/12/08/snih/</link>
		<comments>http://real.kiev.ua/2011/12/08/snih/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 10:06:30 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Погода]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1573</guid>
		<description><![CDATA[Сиджу, паяю… Визирнув у вікно. Весна та літо Ці такі довгі були, Що сніг здивував.]]></description>
			<content:encoded><![CDATA[<p>Сиджу, паяю…<br />
Визирнув у вікно.</p>
<blockquote><p>Весна та літо<br />
Ці такі довгі були,<br />
Що сніг здивував.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2011/12/08/snih/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сережки-5</title>
		<link>http://real.kiev.ua/2011/11/20/serezhky-5/</link>
		<comments>http://real.kiev.ua/2011/11/20/serezhky-5/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 13:04:47 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[Creative Work]]></category>
		<category><![CDATA[Діти]]></category>
		<category><![CDATA[Сережки]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1558</guid>
		<description><![CDATA[З великою затримкою, але зроблено давно обіцяні сережки. Попередні саморобні сережки були зі стабілітронів, дроселів та транзисторів. Ці — з діодів. За основу взято 2Д504А з товстим позолоченим виводом, а вже до нього підвішено діоди серій КД52х. Все рідне, «без ніяких латинських домішок». Дизайн мій, ескіз було намальовано ще як «транзисторні» робилися. Виконання синове. Швензи [...]]]></description>
			<content:encoded><![CDATA[<p>З великою затримкою, але зроблено давно обіцяні сережки.<br />
Попередні <a class="linkint" href="/tag/serezhky/">саморобні сережки</a> були зі стабілітронів, дроселів та транзисторів. Ці — з діодів. За основу взято 2Д504А з товстим позолоченим виводом, а вже до нього підвішено діоди серій КД52х. Все рідне, «без ніяких латинських домішок». </p>
<p><center><img src="http://real.kiev.ua/wp-content/uploads/2011/11/IMG_6670.jpg" alt="Сережки з діодів 2Д504А та КД52х" title="Сережки з діодів 2Д504А та КД52х" width="320" height="480" class="aligncenter size-full wp-image-1559" /></center></p>
<p>Дизайн мій, ескіз було намальовано ще як «транзисторні» робилися.<br />
Виконання синове. Швензи на цей раз з Петрівки, він навідріз відмовився від гірших і спеціально за ними їздив учора, немало подивувавши продавця старанним вибором.<br />
Закінчував сережки коли я на роботі був.<br />
<span id="more-1558"></span><br />
Такі гарні сережки якось несолідно було б віддавати в поліетиленовому пакетику.<br />
Незважаючи навіть на те, що «пішли додому» вони у вухах <img src='http://real.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Адже десь їх треба зберігати!</p>
<p>Дуже гарно підійшла до них коробочка від SD-карти.</p>
<p><center><img src="http://real.kiev.ua/wp-content/uploads/2011/11/IMG_6671.jpg" alt="Сережки з діодів в коробочці від SD-карти" title="Сережки з діодів в коробочці від SD-карти" width="320" height="480" class="aligncenter size-full wp-image-1560" /></center></p>
<p>Теж має певний стосунок до електроніки, стиль витримано <img src='http://real.kiev.ua/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2011/11/20/serezhky-5/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>scmRTOS for STM8, IAR port</title>
		<link>http://real.kiev.ua/2011/11/08/scmrtos-for-stm8-iar-port/</link>
		<comments>http://real.kiev.ua/2011/11/08/scmrtos-for-stm8-iar-port/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 10:13:26 +0000</pubDate>
		<dc:creator>ReAl</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Програмування]]></category>
		<category><![CDATA[IAR]]></category>
		<category><![CDATA[scmRTOS]]></category>
		<category><![CDATA[STM8]]></category>

		<guid isPermaLink="false">http://real.kiev.ua/?p=1525</guid>
		<description><![CDATA[STM8/IAR port added to pre-v400 branch of scmRTOS repository. scmRTOS samples for STM8/IAR can be downloaded as archive. scmRTOS/Common, scmRTOS/Extensions and scmRTOS/STM8 directories are empty in this package. scmRTOS pre-v4.00 kernel, OS extensions and STM8/IAR port archives should be downloaded separately and unpacked in appropriate directories. If subversion is installed it is easier to run [...]]]></description>
			<content:encoded><![CDATA[<p>STM8/IAR port added to pre-v400 branch of <a class="linkext" href="http://scmrtos.svn.sourceforge.net/viewvc/scmrtos/branches/pre-v400">scmRTOS repository</a>.<br />
<a class="linkext" href="http://scmrtos.svn.sourceforge.net/viewvc/scmrtos/branches/pre-v400/Samples/STM8/IAR/?view=tar"> scmRTOS samples for STM8/IAR</a> can be downloaded as archive. scmRTOS/Common, scmRTOS/Extensions and scmRTOS/STM8 directories are empty in this package. <a class="linkext" href="http://scmrtos.svn.sourceforge.net/viewvc/scmrtos/branches/pre-v400/Common/?view=tar">scmRTOS pre-v4.00 kernel</a>, <a class="linkext" href="http://scmrtos.svn.sourceforge.net/viewvc/scmrtos/branches/pre-v400/Extensions/?view=tar">OS extensions</a> and <a class="linkext" href="http://scmrtos.svn.sourceforge.net/viewvc/scmrtos/branches/pre-v400/Ports/STM8/IAR/?view=tar">STM8/IAR port</a> archives should be downloaded separately and unpacked in appropriate directories.</p>
<p><span id="more-1525"></span></p>
<p>If subversion is installed it is easier to run command:</p>
<div class="codecolorer-container dos default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svn co http://scmrtos.svn.sourceforge.net/svnroot/scmrtos/branches/pre-v400/Samples/STM8/IAR ./scmRTOS-samples</div></div>
<p>scmRTOS-samples directory with project subdirectories will be created.<br />
Then run scmRTOS-samples\switch.bat command file for switching scmRTOS\Common, scmRTOS\Extensions and scmRTOS\STM8 to corresponding repository directories.</p>
<p>The samples were built by IAR EWSTM8-KS-1301 compiler and tested with STM8S-DISCOVERY board (STM8S105C6).</p>
<p>The package differs from <a class="linkint" href="/2011/05/16/scmrtos-for-stm8/">STM8 port draft release</a> in:</p>
<ul>
<li>Port and samples rewrote for using STMicroelectronics standard peripheral library;</li>
<li>All four standard scmRTOS samples released;</li>
<li>GPIO access template class header <strong>pin.h</strong> added. The class based on corresponidng class of Cortex-M3 port (STM32 samples).</li>
</ul>
<p>Only header files from STM8S_StdPeriph_Driver library added to samples.</p>
<p>Attention! stm8s.h file changed!</p>
<ul>
<li><code class="codecolorer c default"><span class="c"><span style="color: #000000; font-weight: bold;">extern</span> <span style="color: #ff0000;">&quot;C&quot;</span> <span style="color: #009900;">&#123;</span></span></code> wrapper added;</li>
<li><code class="codecolorer c default"><span class="c"><span style="color: #993333;">typedef</span> <span style="color: #000000; font-weight: bold;">enum</span> <span style="color: #009900;">&#123;</span> FALSE<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> TRUE<span style="color: #339933;">=!</span>FALSE <span style="color: #009900;">&#125;</span> bool<span style="color: #339933;">;</span></span></code> definition wrapped in <code class="codecolorer c default"><span class="c"><span style="color: #339933;">#ifndef __cplusplus</span></span></code>;</li>
<li><strong>stdint.h</strong> standard header included instead of local definitions of fixed-width types such as <code class="codecolorer c default"><span class="c"><span style="color: #993333;">uint16_t</span></span></code>.</li>
</ul>
<p>The port limitations are the same:</p>
<ul>
<li>LARGE data model not supported.</li>
<li>Software interrupt context switcher not released.</li>
<li>Separate stack for interrupt handlers not released.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://real.kiev.ua/2011/11/08/scmrtos-for-stm8-iar-port/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

