{"id":341147,"date":"2022-11-12T03:00:09","date_gmt":"2022-11-12T03:00:09","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=341147"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=341147","title":{"rendered":"<span>\u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 I2S<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u044d\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u043e \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 I2S. <\/p>\n<p>I2S-\u044d\u0442\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u0442\u0440\u0443\u0431\u0430 \u0434\u043b\u044f \u0447\u0438\u0441\u0435\u043b \u0432 \u0430\u0443\u0434\u0438\u043e\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445. \u042d\u0442\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u043d\u043e\u0434\u0443\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043b\u044f \u0430\u0443\u0434\u0438\u043e \u0426\u0410\u041f(\u043e\u0432) \u0438 \u0410\u0426\u041f. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b. \u0411\u0438\u0442\u043e\u0432\u044b\u0435 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u043e\u0434 3MHz \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043a Hi Load. \u0422\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044f Master-Slave. \u041c\u0430\u0441\u0442\u0435\u0440 \u0432\u044b\u0434\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 SCL \u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 WS. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0431\u0438\u0442\u043e\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u043e 2,7 MHz. \u0412\u0441\u044f \u0441\u043f\u0435\u043a\u0430 I2S \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e-\u043d\u0430\u0432\u0441\u0435\u0433\u043e 7 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u0435\u043a.<\/p>\n<p><strong>\u0427\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0438\u0437 \u0436\u0435\u043b\u0435\u0437\u0430?<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444 Tektronix TDS 2014C<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 Saleae   \u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0446\u0435\u043f\u043b\u044f\u0448 \u0434\u043b\u044f \u043d\u0435\u0433\u043e.<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Android \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432 \u0438 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">USB-Flash(\u043a\u0430)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432 c \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0441 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 I2S<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0439 \u043f\u0440\u0438\u0431\u043e\u0440<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">4 \u0449\u0443\u043f\u0430 \u0434\u043b\u044f \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0437 \u0441\u043e\u0444\u0442\u0432\u0435\u0440\u0430?<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Inkscape<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Snipping Tool<\/p>\n<\/td>\n<td>\n<p align=\"left\">Win(\u0434\u043e\u0432\u0430\u044f) \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0441\u0435\u043b\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Audizr<\/p>\n<\/td>\n<td>\n<p align=\"left\">Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u043a\u0442\u0440 \u0430\u0443\u0434\u0438\u043e\u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0441 \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Logic 2<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p> \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u043f\u043e I2S \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0435:<\/p>\n<p>1&#8212;\u041d\u0443\u0436\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c 3 \u043f\u0440\u043e\u0432\u043e\u0434\u0430: SCL, SW, SD<\/p>\n<p>2&#8212;\u0424\u043e\u0440\u043c\u0430\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u044d\u0442\u043e two\u2019s complement. \u0422\u043e \u0435\u0441\u0442\u044c I2S \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 <strong>\u0437\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0446\u0435\u043b\u044b\u0435<\/strong> \u0447\u0438\u0441\u043b\u0430 \u0438 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043b\u044e\u0431\u043e\u0439. \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b DAC. \u0414\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 int7_t, int13_t, int24_t \u0438 \u043f\u0440\u043e\u0447\u0435\u0435.<\/p>\n<p>3&#8212;\u041f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u043f\u0430\u0434 \u0437\u0430\u0449\u0435\u043b\u043a\u0438\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435. <\/p>\n<p>4&#8212;\u0421\u0435\u043c\u043f\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0431\u0438\u0442\u043e\u043c \u0432\u043f\u0435\u0440\u0435\u0434 BigEndiag.<\/p>\n<p>5&#8212;\u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u0438\u0442 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0430<\/p>\n<p>6&#8212;WS 0V &#8212; \u043b\u0435\u0432\u044b\u0439 \u043a\u0430\u043d\u0430\u043b WS 3.3V \u043f\u0440\u0430\u0432\u044b\u0439 \u043a\u0430\u043d\u0430\u043b.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cef\/7b9\/70e\/cef7b970e8fa9caa46305c7d5186b1f2.png\" width=\"553\" height=\"217\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cef\/7b9\/70e\/cef7b970e8fa9caa46305c7d5186b1f2.png\"\/><figcaption><\/figcaption><\/figure>\n<p><strong>\u041a\u0430\u043a \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c I2S \u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435?<\/strong><br \/>\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u0448\u0438\u043d\u0443 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u043c\u043f\u043b 0x87654321. \u042d\u0442\u043e\u0442 \u0441\u0435\u043c\u043f\u043b 0x87654321  \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0430\u0439\u0442 \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0438\u0442 \u0432 \u043a\u0430\u0434\u0440\u0435. \u041c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u043c \u0442\u0435\u0441\u0442\u0430\u043c I2S \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0441\u0442.<\/p>\n<pre><code class=\"cpp\">static uint32_t array_tx[I2S_BLOCK_SIZE];  static bool test_i2s_write_one(uint8_t i2s_num) {     LOG_INF(I2S, \"%s() I2sNum %u\", __FUNCTION__, i2s_num);     uint32_t s = 0;     for(s=0; s &lt; ARRAY_SIZE(array_tx); s++){     array_tx[s]=0x87654321;     }      ASSERT_TRUE(i2s_api_write(i2s_num, array_tx, I2S_BLOCK_SIZE));     return true; } <\/code><\/pre>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 LittleEndian, \u0442\u043e \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u043c\u043f\u043b 0x<strong>87<\/strong>65<strong>43<\/strong>21 \u0431\u0443\u0434\u0435\u0442 \u043b\u0435\u0436\u0430\u0442\u044c \u0442\u0430\u043a 0x21<strong>43<\/strong>65<strong>87<\/strong>. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u0441\u0442 \u043c\u043e\u0436\u043d\u043e \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0438\u0437 UART-CLI. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e77\/ced\/f92\/e77cedf9287240ad2348ba404b06da1c.png\" width=\"818\" height=\"287\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e77\/ced\/f92\/e77cedf9287240ad2348ba404b06da1c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u0435\u043d \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440. \u0412\u043e\u0442 \u0447\u0442\u043e \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ff7\/9dd\/629\/ff79dd6297acb3471d932c3c7b943fc2.png\" width=\"1342\" height=\"570\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ff7\/9dd\/629\/ff79dd6297acb3471d932c3c7b943fc2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0443\u0442 SCL=3,125 MGz WS=45,9kHz. \u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u043e\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f 69.7 \u0440\u0430\u0437. \u0427\u0442\u043e-\u0442\u043e \u043d\u0435\u0442 \u0442\u043e. \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 Inkscape.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2df\/061\/763\/2df0617630a502828dbff2ad8d47953f.png\" width=\"731\" height=\"532\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2df\/061\/763\/2df0617630a502828dbff2ad8d47953f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e \u0442\u043e \u043d\u0435 \u0441\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c 0x87654321. \u041d\u0435\u043f\u043e\u0440\u044f\u0434\u043e\u043a. \u041d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435. \u042f \u043e\u0436\u0438\u0434\u0430\u043b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u043e <strong>0b1000_0111_0110_0101_0100_0011_0010_0001 <\/strong>\u0430<strong> <\/strong>\u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e 0x7AF5EBDx. \u0412 \u0447\u0435\u043c \u0436\u0435 \u0434\u0435\u043b\u043e?<\/p>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u0431\u0440\u043e\u0441\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u0430\u0437\u0430 \u044d\u0442\u043e \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c SCK, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u043e\u0441\u043f\u0435\u0432\u0430\u0435\u0442 \u0437\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 WS. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0447\u0430\u0441\u0442\u043e\u0442\u0430 SCK \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439, \u0430 \u043f\u0443\u043b\u044f\u0435\u0442 \u043f\u0430\u0447\u043a\u0430\u043c\u0438 \u043f\u043e 7 \u0442\u0430\u043a\u0442\u043e\u0432. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c-\u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u043e. \u042d\u0442\u043e \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u0442\u0430\u043a\u0441\u0438-\u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c \u043f\u043e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0433\u0438\u0441\u0442\u0440\u0430\u043b\u0438 \u0431\u044b \u0435\u0437\u0434\u0438\u043b \u0440\u044b\u0432\u043a\u0430\u043c\u0438.<\/p>\n<p>\u0412\u0435\u0440\u043d\u0443\u043b\u0441\u044f \u0432 \u043a\u043e\u0434 \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0430 SCK. \u0412\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0441\u043b\u0435\u0433\u043a\u0430 \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0430\u0441\u044c. \u0422\u0435\u043f\u0435\u0440\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u043b\u0438 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u043f\u0440\u0430\u0432\u0434\u0443. \u041d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0444\u0430\u043d\u0442\u043e\u043c\u043d\u044b\u0435 \u043a\u043b\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u041d\u043e \u0435\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0438 \u0431\u044b\u043b\u0438, \u0442\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d \u0431\u044b\u043b \u0431\u044b \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u043f\u0440\u0430\u0432\u0434\u0443.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2fd\/ba1\/708\/2fdba17083453a25d490b8995d359b7d.png\" width=\"782\" height=\"526\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2fd\/ba1\/708\/2fdba17083453a25d490b8995d359b7d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0423 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u042f \u0440\u0435\u0448\u0438\u043b \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0435 SCK \u043e\u0431\u044b\u043a\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u043c \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u043e\u043c \u0438 \u0443\u0432\u0438\u0434\u0435\u043b, \u0447\u0442\u043e \u043e\u0441\u0446\u0438\u043b\u043b \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u043e\u0442\u0430 SCK  \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0430\u044f. \u041e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c7a\/749\/8e0\/c7a7498e05acb8a0ec44b915c8df0b8f.png\" width=\"839\" height=\"593\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c7a\/749\/8e0\/c7a7498e05acb8a0ec44b915c8df0b8f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 <strong>Saleae <\/strong>(\u0441\u0430\u043b\u043e) \u043a\u0430\u043a-\u0442\u043e \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0437\u0430\u043d\u043e\u0432\u043e \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 (\u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0439\u0442\u0435 \u0441\u043e Slack(\u043e\u043c))<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6db\/ae0\/a90\/6dbae0a90fa0dacdee2fe91ae3960a8d.png\" width=\"149\" height=\"110\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6db\/ae0\/a90\/6dbae0a90fa0dacdee2fe91ae3960a8d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u043e\u0432<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e49\/9b2\/0e3\/e499b20e3bef8ab67e0c9c915e49f668.png\" width=\"322\" height=\"529\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e49\/9b2\/0e3\/e499b20e3bef8ab67e0c9c915e49f668.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435. \u041a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u0414\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0442\u043e 500 000 000 \u0441\u0435\u043c\u043f\u043b\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u043e \u0434\u0430\u0441\u0442 \u043d\u0430\u043c \u0447\u0435\u0442\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430 \u0448\u0438\u043d\u0435 I2S <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c43\/cae\/e27\/c43caee27fb5195d07815b5e7afb5612.png\" width=\"840\" height=\"597\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c43\/cae\/e27\/c43caee27fb5195d07815b5e7afb5612.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043e\u0431\u0440\u043e\u0442\u043d\u0430\u044f, \u0447\u0435\u0442\u043a\u0430\u044f<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f44\/66b\/f4e\/f4466bf4e32daa6a232927d2d9ce465a.png\" width=\"1020\" height=\"529\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f44\/66b\/f4e\/f4466bf4e32daa6a232927d2d9ce465a.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u044d\u0442\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/77c\/ba5\/85e\/77cba585ee5820b636b7222f0d1c4291.png\" width=\"1108\" height=\"739\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/77c\/ba5\/85e\/77cba585ee5820b636b7222f0d1c4291.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0411\u0438\u0442\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430  2941000 Hz, \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438  \u043d\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0435 WS 45821 Hz.  \u041a\u0430\u043a \u0438 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0432 64 \u0440\u0430\u0437\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438. <\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0432 I2S \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 BigEndian (\u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0432\u043f\u0435\u0440\u0435\u0434). \u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439 \u0434\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0444\u043e\u0440\u043c\u0435. \u0421\u0430\u043c \u0436\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0445\u0440\u0430\u043d\u0438\u0442 qword(\u044b) \u0432 Little Endian (\u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0432\u043f\u0435\u0440\u0435\u0434).   <\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0442\u0435\u0441\u0442. \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u044f\u0432\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0448\u043b\u0438 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 0x87654321.<\/p>\n<pre><code class=\"cpp\">static uint8_t array_tx[I2S_BLOCK_SIZE];  static bool test_i2s_write_one(uint8_t i2s_num) {     LOG_INFO(TEST, \"%s() I2sNum %u\", __FUNCTION__,i2s_num);     uint32_t s=0;     for(s=0; s&lt;ARRAY_SIZE(array_tx)\/4; s+=4){     array_tx[s]=0x87;     array_tx[s+1]=0x65;     array_tx[s+2]=0x43;     array_tx[s+3]=0x21;     }     LOG_INFO(TEST, \"Sample[0] 0x%08x\", *((uint32_t *)&amp;array_tx[0]) );     ASSERT_TRUE(i2s_api_write(i2s_num, array_tx, I2S_BLOCK_SIZE\/4));     ASSERT_TRUE(i2s_send(i2s_num, true));     return true; }<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442. \u0412 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u043c\u043f\u043b \u043b\u0435\u0436\u0438\u0442 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 0x87<strong>65<\/strong>43<strong>21<\/strong>. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0430\u0440\u0448\u0438\u0435 \u0431\u0430\u0439\u0442\u044b \u043f\u043e\u0442\u043e\u043c \u043c\u043b\u0430\u0434\u0448\u0438\u0435. \u0422\u0430\u043a \u043a\u0430\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u043d\u0430 LittleEndian \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435, \u0442\u043e uint32_t \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u044d\u0442\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0442 <strong>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong> 0x21<strong>43<\/strong>65<strong>87<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/163\/326\/009\/163326009e76f80edd51d5e0d580069e.png\" width=\"767\" height=\"294\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/163\/326\/009\/163326009e76f80edd51d5e0d580069e.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0410 \u043d\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0431\u0430\u0439\u0442\u044b \u0438\u0434\u0443\u0442 \u0432 \u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u0442\u043e\u043c\u0443 \u043a\u0430\u043a \u0431\u0430\u0439\u0442\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e  \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0437\u0430\u0442\u0435\u043c \u0441\u0442\u0430\u0440\u0448\u0438\u0439. \u0412\u043e\u0442 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 I2C \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u043d\u0432\u0435\u0440\u0441\u0438\u044e \u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u043f\u043e\u0434\u0430\u043d\u044b \u043a\u0430\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f I2S \u0442\u0440\u0430\u043d\u0441\u0438\u0432\u0435\u0440\u0430. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b20\/5fb\/204\/b205fb204925e15b4c3362f1cb89548c.png\" width=\"820\" height=\"533\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b20\/5fb\/204\/b205fb204925e15b4c3362f1cb89548c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 nrf5340 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 qword \u0441\u043b\u043e\u0432\u0430 \u043d\u0435 \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0438 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043b\u0435\u0436\u0430\u0442\u044c \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0430 \u0432 \u0438\u043d\u0432\u0435\u0440\u0441\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0431\u0430\u0439\u0442! \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441 \u044d\u0442\u0438\u043c \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 I2S \u043d\u0430\u0434\u043e \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 BigEndian. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0430\u0439\u0442 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0436\u0435 \u0431\u0438\u0442 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0431\u0430\u0439\u0442\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439.<\/p>\n<p><strong>\u0427\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442?<\/strong><\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0441\u0435\u043c\u043f\u043b\u044b \u043d\u0435 \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e. \u0415\u0441\u0442\u044c DAC \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 32 \u0431\u0438\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 24 \u0431\u0438\u0442\u0430. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u044f \u0445\u043e\u0447\u0443 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441\u0438\u043d\u0443\u0441\u043e\u0438\u0434\u0443 800 Hz \u043f\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439 LUT \u0442\u0430\u0431\u043b\u0438\u0446\u0435. \u0420\u0430\u0441c\u0447\u0438\u0442\u0430\u043b \u043f\u0430\u0440\u0443 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432. \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u043b \u0441\u0435\u043c\u043f\u043b\u044b \u0432 LUT. \u0412 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 Tx \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0434\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c. \u0412 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 sample RAM \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0447\u0438\u0441\u043b\u043e \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 -38=0xFFFFFFDA \u0431\u0443\u0434\u0435\u0442 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 RAM c\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e \u043a\u0430\u043a 0x00DAFFFF. \u0422\u043e\u0433\u0434\u0430 \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e I2S \u043c\u043e\u0434\u0443\u043b\u0435\u043c \u043a\u0430\u043a 0xFFFFDA \u0438 I2S DAC \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0441\u0435\u043c\u043f\u043b.<\/p>\n<pre><code>LookUpTable (LUT) for 24-bit DAC +-----+------------+------------+------------+ | No  | sample RAM |     sample | sample hex | +-----+------------+------------+------------+ |   1 | 0x00000000 |          0 | 0x00000000 | |   2 | 0x000d0000 |         13 | 0x0000000d | |   3 | 0x001a0000 |         26 | 0x0000001a | |   4 | 0x00250000 |         37 | 0x00000025 | |   5 | 0x002d0000 |         45 | 0x0000002d | |   6 | 0x00310000 |         49 | 0x00000031 | |   7 | 0x00310000 |         49 | 0x00000031 | |   8 | 0x002d0000 |         45 | 0x0000002d | |   9 | 0x00260000 |         38 | 0x00000026 | |  10 | 0x001b0000 |         27 | 0x0000001b | |  11 | 0x000e0000 |         14 | 0x0000000e | |  12 | 0x00000000 |          0 | 0x00000000 | |  13 | 0x00f3ffff |        -13 | 0xfffffff3 | |  14 | 0x00e6ffff |        -26 | 0xffffffe6 | |  15 | 0x00dbffff |        -37 | 0xffffffdb | |  16 | 0x00d3ffff |        -45 | 0xffffffd3 | |  17 | 0x00cfffff |        -49 | 0xffffffcf | |  18 | 0x00cfffff |        -49 | 0xffffffcf | |  19 | 0x00d3ffff |        -45 | 0xffffffd3 | |  20 | 0x00daffff |        -38 | 0xffffffda | |  21 | 0x00e5ffff |        -27 | 0xffffffe5 | |  22 | 0x00f2ffff |        -14 | 0xfffffff2 | |  23 | 0x00ffffff |         -1 | 0xffffffff | |  24 | 0x000d0000 |         13 | 0x0000000d | |  25 | 0x001a0000 |         26 | 0x0000001a | |  26 | 0x00240000 |         36 | 0x00000024 | |  27 | 0x002c0000 |         44 | 0x0000002c | |  28 | 0x00310000 |         49 | 0x00000031 | |  29 | 0x00310000 |         49 | 0x00000031 | |  30 | 0x002e0000 |         46 | 0x0000002e | |  31 | 0x00260000 |         38 | 0x00000026 | |  32 | 0x001c0000 |         28 | 0x0000001c | |  33 | 0x000f0000 |         15 | 0x0000000f | |  34 | 0x00010000 |          1 | 0x00000001 | |  35 | 0x00f4ffff |        -12 | 0xfffffff4 | |  36 | 0x00e7ffff |        -25 | 0xffffffe7 | |  37 | 0x00dcffff |        -36 | 0xffffffdc | |  38 | 0x00d4ffff |        -44 | 0xffffffd4 | |  39 | 0x00cfffff |        -49 | 0xffffffcf | |  40 | 0x00cfffff |        -49 | 0xffffffcf | |  41 | 0x00d2ffff |        -46 | 0xffffffd2 | |  42 | 0x00daffff |        -38 | 0xffffffda | |  43 | 0x00e4ffff |        -28 | 0xffffffe4 | |  44 | 0x00f1ffff |        -15 | 0xfffffff1 | +-----+------------+------------+------------+                 ^                 |                first byte in I2S<\/code><\/pre>\n<p>\u0427\u0442\u043e \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 DAC? \u041f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 I2S \u0432\u0430\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043d\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 PCM \u0441\u0435\u043c\u043f\u043b\u043e\u0432 \u0432 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 PCM  \u0441\u0435\u043c\u043f\u043b\u044b <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/aa8\/501\/e3d\/aa8501e3d314b58a23a4b9305d51461e.png\" alt=\"\u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 O \u043d\u0430 I2S \u043e\u0441\u0446\u0438\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435\" title=\"\u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 O \u043d\u0430 I2S \u043e\u0441\u0446\u0438\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435\" width=\"1470\" height=\"522\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/aa8\/501\/e3d\/aa8501e3d314b58a23a4b9305d51461e.png\"\/><figcaption>\u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 O \u043d\u0430 I2S \u043e\u0441\u0446\u0438\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435<\/figcaption><\/figure>\n<p>\u0427\u0442\u043e \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 DAC? \u0422\u0443\u0442 \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u041d\u0430\u0434\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0438\u043d\u0443\u0441.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/51b\/ab6\/147\/51bab6147581826f3500f17ed998a3e5.png\" width=\"1157\" height=\"937\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/51b\/ab6\/147\/51bab6147581826f3500f17ed998a3e5.png\"\/><figcaption><\/figcaption><\/figure>\n<p> \u0422\u0435\u043f\u0435\u0440\u044c \u0438 \u0432\u044b \u0443\u043c\u0435\u0435\u0442\u0435 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 I2S \u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0447\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0445.<\/p>\n<p><strong>\u0412\u044b\u0432\u043e\u0434<\/strong><\/p>\n<p>\u0412 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u043c \u0434\u0435\u043b\u0435 \u0438 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 Hi-Tech \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0438 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c 2\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u0422\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0430\u0433 \u0432 \u0441\u0430\u043c\u0438\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u0432\u0430\u0436\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0447\u0435\u043c \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0445 \u0440\u0438\u0441\u043e\u0432\u0430\u043b\u043a\u0430\u0445 \u0442\u0438\u043f\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b inkscape.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <\/p>\n<div class=\"tm-article-poll\">\n<div class=\"tm-notice tm-article-poll__notice tm-notice_positive\"><!----> <\/p>\n<div class=\"tm-notice__inner\"><!----> <\/p>\n<div data-test-id=\"notice-content\" class=\"tm-notice__content\"><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/post\/698572\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__header\">\u0412\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c I2S?<\/div>\n<div class=\"tm-article-poll__answers\">\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__stats\">        \u041d\u0438\u043a\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b.          \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u0441\u044f 1 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c.      <\/div>\n<\/div>\n<div class=\"tm-article-poll\">\n<div class=\"tm-notice tm-article-poll__notice tm-notice_positive\"><!----> <\/p>\n<div class=\"tm-notice__inner\"><!----> <\/p>\n<div data-test-id=\"notice-content\" class=\"tm-notice__content\"><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/post\/698572\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__header\">\u0412\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c Saleae?<\/div>\n<div class=\"tm-article-poll__answers\">\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__stats\">        \u041d\u0438\u043a\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b.          \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u0441\u044f 1 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c.      <\/div>\n<\/div>\n<div class=\"tm-article-poll\">\n<div class=\"tm-notice tm-article-poll__notice tm-notice_positive\"><!----> <\/p>\n<div class=\"tm-notice__inner\"><!----> <\/p>\n<div data-test-id=\"notice-content\" class=\"tm-notice__content\"><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/post\/698572\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__header\">\u0412\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u0443\u044e \u0433\u0440\u0430\u0444\u0438\u043a\u0443?<\/div>\n<div class=\"tm-article-poll__answers\">\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__stats\">        \u041d\u0438\u043a\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b.          \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u0441\u044f 1 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c.      <\/div>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/698572\/\"> https:\/\/habr.com\/ru\/post\/698572\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u044d\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u043e \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 I2S. <\/p>\n<p>I2S-\u044d\u0442\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u0442\u0440\u0443\u0431\u0430 \u0434\u043b\u044f \u0447\u0438\u0441\u0435\u043b \u0432 \u0430\u0443\u0434\u0438\u043e\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445. \u042d\u0442\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u043d\u043e\u0434\u0443\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043b\u044f \u0430\u0443\u0434\u0438\u043e \u0426\u0410\u041f(\u043e\u0432) \u0438 \u0410\u0426\u041f. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b. \u0411\u0438\u0442\u043e\u0432\u044b\u0435 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u043e\u0434 3MHz \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043a Hi Load. \u0422\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044f Master-Slave. \u041c\u0430\u0441\u0442\u0435\u0440 \u0432\u044b\u0434\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 SCL \u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 WS. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0431\u0438\u0442\u043e\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u043e 2,7 MHz. \u0412\u0441\u044f \u0441\u043f\u0435\u043a\u0430 I2S \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e-\u043d\u0430\u0432\u0441\u0435\u0433\u043e 7 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u0435\u043a.<\/p>\n<p><strong>\u0427\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0438\u0437 \u0436\u0435\u043b\u0435\u0437\u0430?<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444 Tektronix TDS 2014C<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 Saleae   \u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0446\u0435\u043f\u043b\u044f\u0448 \u0434\u043b\u044f \u043d\u0435\u0433\u043e.<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Android \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432 \u0438 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">USB-Flash(\u043a\u0430)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432 c \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0441 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 I2S<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0439 \u043f\u0440\u0438\u0431\u043e\u0440<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">4 \u0449\u0443\u043f\u0430 \u0434\u043b\u044f \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>\u0427\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0437 \u0441\u043e\u0444\u0442\u0432\u0435\u0440\u0430?<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Inkscape<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Snipping Tool<\/p>\n<\/td>\n<td>\n<p align=\"left\">Win(\u0434\u043e\u0432\u0430\u044f) \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0441\u0435\u043b\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Audizr<\/p>\n<\/td>\n<td>\n<p align=\"left\">Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u043a\u0442\u0440 \u0430\u0443\u0434\u0438\u043e\u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0441 \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Logic 2<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p> \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u043f\u043e I2S \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0435:<\/p>\n<p>1&#8212;\u041d\u0443\u0436\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c 3 \u043f\u0440\u043e\u0432\u043e\u0434\u0430: SCL, SW, SD<\/p>\n<p>2&#8212;\u0424\u043e\u0440\u043c\u0430\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u044d\u0442\u043e two\u2019s complement. \u0422\u043e \u0435\u0441\u0442\u044c I2S \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 <strong>\u0437\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0446\u0435\u043b\u044b\u0435<\/strong> \u0447\u0438\u0441\u043b\u0430 \u0438 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043b\u044e\u0431\u043e\u0439. \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b DAC. \u0414\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 int7_t, int13_t, int24_t \u0438 \u043f\u0440\u043e\u0447\u0435\u0435.<\/p>\n<p>3&#8212;\u041f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u043f\u0430\u0434 \u0437\u0430\u0449\u0435\u043b\u043a\u0438\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435. <\/p>\n<p>4&#8212;\u0421\u0435\u043c\u043f\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0431\u0438\u0442\u043e\u043c \u0432\u043f\u0435\u0440\u0435\u0434 BigEndiag.<\/p>\n<p>5&#8212;\u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u0438\u0442 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0430<\/p>\n<p>6&#8212;WS 0V &#8212; \u043b\u0435\u0432\u044b\u0439 \u043a\u0430\u043d\u0430\u043b WS 3.3V \u043f\u0440\u0430\u0432\u044b\u0439 \u043a\u0430\u043d\u0430\u043b.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>\u041a\u0430\u043a \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c I2S \u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435?<\/strong><br \/>\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u0448\u0438\u043d\u0443 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u043c\u043f\u043b 0x87654321. \u042d\u0442\u043e\u0442 \u0441\u0435\u043c\u043f\u043b 0x87654321  \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0430\u0439\u0442 \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0438\u0442 \u0432 \u043a\u0430\u0434\u0440\u0435. \u041c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u043c \u0442\u0435\u0441\u0442\u0430\u043c I2S \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0441\u0442.<\/p>\n<pre><code class=\"cpp\">static uint32_t array_tx[I2S_BLOCK_SIZE];  static bool test_i2s_write_one(uint8_t i2s_num) {     LOG_INF(I2S, \"%s() I2sNum %u\", __FUNCTION__, i2s_num);     uint32_t s = 0;     for(s=0; s &lt; ARRAY_SIZE(array_tx); s++){     array_tx[s]=0x87654321;     }      ASSERT_TRUE(i2s_api_write(i2s_num, array_tx, I2S_BLOCK_SIZE));     return true; } <\/code><\/pre>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 LittleEndian, \u0442\u043e \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u043c\u043f\u043b 0x<strong>87<\/strong>65<strong>43<\/strong>21 \u0431\u0443\u0434\u0435\u0442 \u043b\u0435\u0436\u0430\u0442\u044c \u0442\u0430\u043a 0x21<strong>43<\/strong>65<strong>87<\/strong>. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u0441\u0442 \u043c\u043e\u0436\u043d\u043e \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0438\u0437 UART-CLI. <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u0435\u043d \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440. \u0412\u043e\u0442 \u0447\u0442\u043e \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0443\u0442 SCL=3,125 MGz WS=45,9kHz. \u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u043e\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f 69.7 \u0440\u0430\u0437. \u0427\u0442\u043e-\u0442\u043e \u043d\u0435\u0442 \u0442\u043e. \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 Inkscape.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e \u0442\u043e \u043d\u0435 \u0441\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c 0x87654321. \u041d\u0435\u043f\u043e\u0440\u044f\u0434\u043e\u043a. \u041d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435. \u042f \u043e\u0436\u0438\u0434\u0430\u043b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u043e <strong>0b1000_0111_0110_0101_0100_0011_0010_0001 <\/strong>\u0430<strong> <\/strong>\u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e 0x7AF5EBDx. \u0412 \u0447\u0435\u043c \u0436\u0435 \u0434\u0435\u043b\u043e?<\/p>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u0431\u0440\u043e\u0441\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u0430\u0437\u0430 \u044d\u0442\u043e \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c SCK, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u043e\u0441\u043f\u0435\u0432\u0430\u0435\u0442 \u0437\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 WS. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0447\u0430\u0441\u0442\u043e\u0442\u0430 SCK \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439, \u0430 \u043f\u0443\u043b\u044f\u0435\u0442 \u043f\u0430\u0447\u043a\u0430\u043c\u0438 \u043f\u043e 7 \u0442\u0430\u043a\u0442\u043e\u0432. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c-\u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u043e. \u042d\u0442\u043e \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u0442\u0430\u043a\u0441\u0438-\u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c \u043f\u043e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0433\u0438\u0441\u0442\u0440\u0430\u043b\u0438 \u0431\u044b \u0435\u0437\u0434\u0438\u043b \u0440\u044b\u0432\u043a\u0430\u043c\u0438.<\/p>\n<p>\u0412\u0435\u0440\u043d\u0443\u043b\u0441\u044f \u0432 \u043a\u043e\u0434 \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0430 SCK. \u0412\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0441\u043b\u0435\u0433\u043a\u0430 \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0430\u0441\u044c. \u0422\u0435\u043f\u0435\u0440\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u043b\u0438 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u043f\u0440\u0430\u0432\u0434\u0443. \u041d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0444\u0430\u043d\u0442\u043e\u043c\u043d\u044b\u0435 \u043a\u043b\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u041d\u043e \u0435\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0438 \u0431\u044b\u043b\u0438, \u0442\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d \u0431\u044b\u043b \u0431\u044b \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u043f\u0440\u0430\u0432\u0434\u0443.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0423 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u042f \u0440\u0435\u0448\u0438\u043b \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0435 SCK \u043e\u0431\u044b\u043a\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u043c \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u043e\u043c \u0438 \u0443\u0432\u0438\u0434\u0435\u043b, \u0447\u0442\u043e \u043e\u0441\u0446\u0438\u043b\u043b \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u043e\u0442\u0430 SCK  \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0430\u044f. \u041e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430. <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 <strong>Saleae <\/strong>(\u0441\u0430\u043b\u043e) \u043a\u0430\u043a-\u0442\u043e \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0437\u0430\u043d\u043e\u0432\u043e \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 (\u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0439\u0442\u0435 \u0441\u043e Slack(\u043e\u043c))<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u043e\u0432<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435. \u041a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u0414\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0442\u043e 500 000 000 \u0441\u0435\u043c\u043f\u043b\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u043e \u0434\u0430\u0441\u0442 \u043d\u0430\u043c \u0447\u0435\u0442\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430 \u0448\u0438\u043d\u0435 I2S <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043e\u0431\u0440\u043e\u0442\u043d\u0430\u044f, \u0447\u0435\u0442\u043a\u0430\u044f<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u044d\u0442\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0411\u0438\u0442\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430  2941000 Hz, \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438  \u043d\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0435 WS 45821 Hz.  \u041a\u0430\u043a \u0438 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0432 64 \u0440\u0430\u0437\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438. <\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0432 I2S \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 BigEndian (\u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0432\u043f\u0435\u0440\u0435\u0434). \u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439 \u0434\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0444\u043e\u0440\u043c\u0435. \u0421\u0430\u043c \u0436\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0445\u0440\u0430\u043d\u0438\u0442 qword(\u044b) \u0432 Little Endian (\u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0432\u043f\u0435\u0440\u0435\u0434).   <\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0442\u0435\u0441\u0442. \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u044f\u0432\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0448\u043b\u0438 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 0x87654321.<\/p>\n<pre><code class=\"cpp\">static uint8_t array_tx[I2S_BLOCK_SIZE];  static bool test_i2s_write_one(uint8_t i2s_num) {     LOG_INFO(TEST, \"%s() I2sNum %u\", __FUNCTION__,i2s_num);     uint32_t s=0;     for(s=0; s&lt;ARRAY_SIZE(array_tx)\/4; s+=4){     array_tx[s]=0x87;     array_tx[s+1]=0x65;     array_tx[s+2]=0x43;     array_tx[s+3]=0x21;     }     LOG_INFO(TEST, \"Sample[0] 0x%08x\", *((uint32_t *)&amp;array_tx[0]) );     ASSERT_TRUE(i2s_api_write(i2s_num, array_tx, I2S_BLOCK_SIZE\/4));     ASSERT_TRUE(i2s_send(i2s_num, true));     return true; }<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442. \u0412 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u043c\u043f\u043b \u043b\u0435\u0436\u0438\u0442 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 0x87<strong>65<\/strong>43<strong>21<\/strong>. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0430\u0440\u0448\u0438\u0435 \u0431\u0430\u0439\u0442\u044b \u043f\u043e\u0442\u043e\u043c \u043c\u043b\u0430\u0434\u0448\u0438\u0435. \u0422\u0430\u043a \u043a\u0430\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u043d\u0430 LittleEndian \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435, \u0442\u043e uint32_t \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u044d\u0442\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0442 <strong>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong> 0x21<strong>43<\/strong>65<strong>87<\/strong>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0410 \u043d\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0431\u0430\u0439\u0442\u044b \u0438\u0434\u0443\u0442 \u0432 \u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u0442\u043e\u043c\u0443 \u043a\u0430\u043a \u0431\u0430\u0439\u0442\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e  \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0437\u0430\u0442\u0435\u043c \u0441\u0442\u0430\u0440\u0448\u0438\u0439. \u0412\u043e\u0442 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 I2C \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u043d\u0432\u0435\u0440\u0441\u0438\u044e \u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u043f\u043e\u0434\u0430\u043d\u044b \u043a\u0430\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f I2S \u0442\u0440\u0430\u043d\u0441\u0438\u0432\u0435\u0440\u0430. <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 nrf5340 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 qword \u0441\u043b\u043e\u0432\u0430 \u043d\u0435 \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0438 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043b\u0435\u0436\u0430\u0442\u044c \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438 \u0430 \u0432 \u0438\u043d\u0432\u0435\u0440\u0441\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0431\u0430\u0439\u0442! \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441 \u044d\u0442\u0438\u043c \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 I2S \u043d\u0430\u0434\u043e \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 BigEndian. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0430\u0439\u0442 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0436\u0435 \u0431\u0438\u0442 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0431\u0430\u0439\u0442\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439.<\/p>\n<p><strong>\u0427\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442?<\/strong><\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0441\u0435\u043c\u043f\u043b\u044b \u043d\u0435 \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e. \u0415\u0441\u0442\u044c DAC \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 32 \u0431\u0438\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 24 \u0431\u0438\u0442\u0430. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u044f \u0445\u043e\u0447\u0443 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441\u0438\u043d\u0443\u0441\u043e\u0438\u0434\u0443 800 Hz \u043f\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439 LUT \u0442\u0430\u0431\u043b\u0438\u0446\u0435. \u0420\u0430\u0441c\u0447\u0438\u0442\u0430\u043b \u043f\u0430\u0440\u0443 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432. \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u043b \u0441\u0435\u043c\u043f\u043b\u044b \u0432 LUT. \u0412 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 Tx \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0434\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c. \u0412 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 sample RAM \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0447\u0438\u0441\u043b\u043e \u0432 RAM \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 -38=0xFFFFFFDA \u0431\u0443\u0434\u0435\u0442 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 RAM c\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e \u043a\u0430\u043a 0x00DAFFFF. \u0422\u043e\u0433\u0434\u0430 \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e I2S \u043c\u043e\u0434\u0443\u043b\u0435\u043c \u043a\u0430\u043a 0xFFFFDA \u0438 I2S DAC \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0441\u0435\u043c\u043f\u043b.<\/p>\n<pre><code>LookUpTable (LUT) for 24-bit DAC +-----+------------+------------+------------+ | No  | sample RAM |     sample | sample hex | +-----+------------+------------+------------+ |   1 | 0x00000000 |          0 | 0x00000000 | |   2 | 0x000d0000 |         13 | 0x0000000d | |   3 | 0x001a0000 |         26 | 0x0000001a | |   4 | 0x00250000 |         37 | 0x00000025 | |   5 | 0x002d0000 |         45 | 0x0000002d | |   6 | 0x00310000 |         49 | 0x00000031 | |   7 | 0x00310000 |         49 | 0x00000031 | |   8 | 0x002d0000 |         45 | 0x0000002d | |   9 | 0x00260000 |         38 | 0x00000026 | |  10 | 0x001b0000 |         27 | 0x0000001b | |  11 | 0x000e0000 |         14 | 0x0000000e | |  12 | 0x00000000 |          0 | 0x00000000 | |  13 | 0x00f3ffff |        -13 | 0xfffffff3 | |  14 | 0x00e6ffff |        -26 | 0xffffffe6 | |  15 | 0x00dbffff |        -37 | 0xffffffdb | |  16 | 0x00d3ffff |        -45 | 0xffffffd3 | |  17 | 0x00cfffff |        -49 | 0xffffffcf | |  18 | 0x00cfffff |        -49 | 0xffffffcf | |  19 | 0x00d3ffff |        -45 | 0xffffffd3 | |  20 | 0x00daffff |        -38 | 0xffffffda | |  21 | 0x00e5ffff |        -27 | 0xffffffe5 | |  22 | 0x00f2ffff |        -14 | 0xfffffff2 | |  23 | 0x00ffffff |         -1 | 0xffffffff | |  24 | 0x000d0000 |         13 | 0x0000000d | |  25 | 0x001a0000 |         26 | 0x0000001a | |  26 | 0x00240000 |         36 | 0x00000024 | |  27 | 0x002c0000 |         44 | 0x0000002c | |  28 | 0x00310000 |         49 | 0x00000031 | |  29 | 0x00310000 |         49 | 0x00000031 | |  30 | 0x002e0000 |         46 | 0x0000002e | |  31 | 0x00260000 |         38 | 0x00000026 | |  32 | 0x001c0000 |         28 | 0x0000001c | |  33 | 0x000f0000 |         15 | 0x0000000f | |  34 | 0x00010000 |          1 | 0x00000001 | |  35 | 0x00f4ffff |        -12 | 0xfffffff4 | |  36 | 0x00e7ffff |        -25 | 0xffffffe7 | |  37 | 0x00dcffff |        -36 | 0xffffffdc | |  38 | 0x00d4ffff |        -44 | 0xffffffd4 | |  39 | 0x00cfffff |        -49 | 0xffffffcf | |  40 | 0x00cfffff |        -49 | 0xffffffcf | |  41 | 0x00d2ffff |        -46 | 0xffffffd2 | |  42 | 0x00daffff |        -38 | 0xffffffda | |  43 | 0x00e4ffff |        -28 | 0xffffffe4 | |  44 | 0x00f1ffff |        -15 | 0xfffffff1 | +-----+------------+------------+------------+                 ^                 |                first byte in I2S<\/code><\/pre>\n<p>\u0427\u0442\u043e \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 DAC? \u041f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 I2S \u0432\u0430\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043d\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 PCM \u0441\u0435\u043c\u043f\u043b\u043e\u0432 \u0432 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 PCM  \u0441\u0435\u043c\u043f\u043b\u044b <\/p>\n<figure class=\"full-width\"><figcaption>\u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 O \u043d\u0430 I2S \u043e\u0441\u0446\u0438\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0435<\/figcaption><\/figure>\n<p>\u0427\u0442\u043e \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 DAC? \u0422\u0443\u0442 \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u041d\u0430\u0434\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0438\u043d\u0443\u0441.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p> \u0422\u0435\u043f\u0435\u0440\u044c \u0438 \u0432\u044b \u0443\u043c\u0435\u0435\u0442\u0435 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 I2S \u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0447\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0445.<\/p>\n<p><strong>\u0412\u044b\u0432\u043e\u0434<\/strong><\/p>\n<p>\u0412 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u043c \u0434\u0435\u043b\u0435 \u0438 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 Hi-Tech \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0438 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c 2\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u0422\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0430\u0433 \u0432 \u0441\u0430\u043c\u0438\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u0432\u0430\u0436\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0447\u0435\u043c \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0445 \u0440\u0438\u0441\u043e\u0432\u0430\u043b\u043a\u0430\u0445 \u0442\u0438\u043f\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b inkscape.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <\/p>\n<div class=\"tm-article-poll\">\n<div class=\"tm-notice tm-article-poll__notice tm-notice_positive\"><!----> <\/p>\n<div class=\"tm-notice__inner\"><!----> <\/p>\n<div data-test-id=\"notice-content\" class=\"tm-notice__content\"><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/post\/698572\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__header\">\u0412\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c I2S?<\/div>\n<div class=\"tm-article-poll__answers\">\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span> <span class=\"tm-article-poll__answer-votes\"> <\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-341147","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/341147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=341147"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/341147\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=341147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=341147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=341147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}