Логический анализатор – незаменимый помощник при отладке цифровой схемотехники. Давайте рассмотрим основные приёмы работы с логическим анализатором Saleae Logic Analyzer и его китайскими аналогами.
Для работы нам понадобится:
- логический анализатор Saleae или аналог;
- преобразователь USB-UART;
- преобразователь USB-RS485;
- соединительные провода (рекомендую вот такой набор);
- макетная плата (breadboard).
1Технические характеристики логического анализатора Saleae logic analyzer
Логический анализатор – это инструмент для временного анализа цифровых сигналов. Это незаменимый, действительно незаменимый инструмент при отладке цифровой электроники. Оригинальные анализаторы от именитых производителей стоят больших денег. У наших китайских друзей можно купить такое устройство за копейки. Поэтому если у вас его ещё нет – обязательно приобретите. Возможности данного небольшого устройства весьма внушительны.
В таблице перечислены основные параметры логического анализатора, моей китайской копии анализатора фирмы Saleae.
Параметр | Значение |
---|---|
число цифровых каналов | 8 |
частота оцифровки на канал | до 24 МГц |
количество сэмплов в выборке | до 1G (зависит от количества памяти ПК) |
входное сопротивление | 100 кОм |
диапазон рабочих напряжений | –0,5…5,25 В |
напряжение логического «0» | –0,5…0,8 В |
напряжение логической «1» | 2,0…5,25 В |
защита от статики | |
защита по превышению напряжения | +/−15 В |
2Установка драйверадля логического анализатора Saleae
Для данного логического анализатора – китайской копии – к счастью, подходит драйвер от оригинала. Заходим на официальный сайт, скачиваем программу для своей операционной системы и устанавливаем её. Драйверы будут установлены вместе с программой. Кстати, обзор возможностей программы в виде инструкции на английском языке приложен в конце данной статьи.
Если у вас копия другой фирмы, например, USBee AX Pro, то с большой долей вероятности для него также подойдут драйверы от производителя анализатора-оригинала.
3Примеры работы с логическим анализатором
Для первого эксперимента возьмём преобразователь USB-UART на микросхеме FTD1232. Подключим анализатор к порту USB. Выводы каналов с 1 по 6 подключим к выводам USB-UART преобразователя. По большому счёту, больше всего нас интересует только две линии – Rx и Tx, можно обойтись только ими. Преобразователь определился в системе как COM-порт. Запустим любую терминалку (вот, например, неплохая программа для работы с COM-портом) и подключимся к порту.
Запускаем программу Saleae Logic. Если драйверы для анализатора установлены корректно, в заголовке программы будет указано Connected – подключено. Допустим, мы не знаем на каком канале будет сигнал, а на каком нет, поэтому не будем выставлять триггер для начала захвата сигнала. Просто нажмём на стрелки большой зелёной кнопки Start (Старт) и выставим в поле Duration (Длительность), скажем, 10 секунд. Это время, в течение которого логический анализатор будет собирать приходящие по всем 8-ми каналам данные после нажатия кнопки «Старт». Запускаем захват и одновременно отправляем в COM-порт какое-нибудь сообщение. Через 10 секунд анализатор закончит сбор данных и выведет результат в поле просмотра сигналов. В данном случае сигнал будет лишь на одном канале, который присоединён к выводу Tx (передатчик) USB-UART преобразователя.
Для наглядности можно настроить декодер перехваченных данных. Для этого в правом столбце находим поле Analyzers, нажимаем иконку в виде плюса – «Добавить», указываем тип – Async Serial. Появится окно с выбором настроек. В первое поле вводим номер канала, на котором у вас данные. Остальное оставим как есть. После нажатия кнопки Save (Сохранить), над полем соответствующего канала появятся метки голубого цвета с отображением значений байтов, которые были перехвачены. Нажав на шестерёнку в данном дешифраторе, можно задать режим отображения значений – ASCII, HEX, BIN или DEC. Если вы передавали в COM-порт строку, выберите режим ASCII, и увидите тот текст, который был вами передан в порт.
Тут же, в правом столбце программы Saleae Logic, можно добавлять к перехваченным данным закладки, проводить измерения задержек и длительностей, выставлять всевозможные маркеры и даже проводить поиск по данным для декодированных протоколов.
Аналогичным образом подключим логический анализатор к преобразователю USB-RS485. Линии данных всего две, поэтому можно установить триггер срабатывания по фронту любого из каналов: сигнал в протоколе RS-485 дифференциальный и фронты импульсов появляются одновременно на каждом из каналов, но в противофазе.
Нажмём кнопку «Старт» в программе анализатора. С помощью нашей терминалки подключимся к USB-RS485 конвертеру и передадим какие-нибудь данные. По срабатыванию триггера программа начнёт собирать данные, по завершению выведет их на экран.
Программа Saleae Logic позволяет экспортировать сохранённые данные в виде изображений и текстовых данных, сохранять настройки программы, аннотации и декодеры каналов.
Последний пример в данном небольшом обзоре – захваченный кадр данных, переданный по последовательному протоколу SPI. В канале 2 виден сигнал выбора ведомого, в канале 0 – тактовые импульсы, а в канале 1 – собственно данные от ведущего устройства к ведомому.
Выводы
Логический анализатор может быть очень полезен при разработке и настройке всевозможных электронных устройств, при написании программного обеспечения, работающего в связке с железом, при работе с микроконтроллерами, ПЛИС и микропроцессорами, для анализа работы различных устройств и протоколов обмена данными, и для многих других применений. Кроме того, он портативен и не нуждается в отдельном питании.
Инструкция по работе с программой для логического анализатора Saleae
По ссылкам ниже можно скачать инструкцию с файлообменников, либо напрямую с сайта.
- Скачать инструкцию по работе с программой для логического анализатора Saleae с Depositfiles.com
- Скачать инструкцию по работе с программой для логического анализатора Saleae c Up-4ever.com
Расскажу о работе с логическим анализатором на примере моего логического анализатора и программы Saleae Logic 1.1.15. Итак, при установке и запуске программы мы увидим такое окно.
Это рабочая область программы. В самом верху мы можем видеть статус анализатора (Disconnected/Connected), а также два поля: Samples и MHz. В первом задаем размер памяти под чтение, а во втором скорость семплирования. Например при выборе 5M Samples (5 млн. выборок), и скорости 1 MHz, длинна записи составит: 5/1=5 секунд. Если скорость — 200 KHz, то: 5/0,2= 25 секунд. То есть чем выше скорость, при одинаковом размере памяти тем быстрее ее заполнит, но и тем точнее будет анализ. В общем настраивается под конкретный проект. Ниже мы видим все 8 линий логического анализатора. Для удобства их можно подписывать как угодно, как видите у меня они переименованы все кроме 7-ой. Там же есть настройка триггеров.
Это тоже очень удобно так как запуск записи происходит по событию на одном из портов. Слева расположена кнопка «Опции», там можно сохранять наши осциллограмы, а также вкладка «Measurements» и «Analyzers». Вторая это самая основная. Если вы отслеживаете работу какого-то модуля, то вам несомненно пригодятся встроенные анализаторы.
Как видно, присутствуют все возможные интерфейсы. Настраиваются они легко. Например у меня на 2 и 3 линии находятся RX и TX Uart интерфейса. Чтобы их настроить нужно нажать на плюсик рядом с Analyzers, выбрать Async Serial, и дальше ввести нужные настройки.
Программа простая, но очень функциональная и удобная. Ну а теперь покажу на примере. Сейчас у меня логический анализатор подключен к двум Uart портам микроконтроллера Stm32f103c8t6. На один поступают данные, а с другого они выходят, но с опозданием. Сейчас я передам на него строку и посмотрим как это будет выглядеть в анализаторе. Так выглядит строка адреса одной из статей сайта:
Видим какие-то данные на 2 линиях. Увеличиваем:
Видим что принятые данные одним портом были переданы другим, но с опозданием.
Над каждым принятым байтом программа поставила раскодировку.
Если же отключить на этих линиях анализатор, то увидим просто осциллограммы.
Кстати можно оперативно видеть ширину между «0» и «1», или измерять нужные участки с помощью курсоров.
- Manuals
- Brands
- Saleae Manuals
- Measuring Instruments
- Logic
- User manual
-
Contents
-
Table of Contents
-
Bookmarks
Quick Links
User’s Guide
Revised June 7, 2018
For the latest content, please refer
to the User’s Guide on our support
site here:
Saleae User’s Guide
Page 1 of 69
Summary of Contents for Saleae Logic
-
Page 1
User’s Guide Revised June 7, 2018 For the latest content, please refer to the User’s Guide on our support site here: Saleae User’s Guide Page 1 of 69… -
Page 2: Table Of Contents
Product Summary ………………………. 3 Safety Summary & Warranty ……………………. 6 Software Download & Installation ………………… 11 Navigating the Software ……………………13 Connecting the Logic Hardware ………………….20 Device Calibration ……………………..21 Connecting Accessories ……………………24 Collecting Data & Device Settings ………………… 28 Using the Trigger ………………………
-
Page 3: Product Summary
Product Summary Saleae Logic Analyzers consists of the products listed in this section. The 2nd Generation of products have the capability of recording both digital and analog signals, while the 1st Generation of products have digital recording capability only. 1st Generation: •…
-
Page 4
• SAL-00111 Logic 8 Black • SAL-00112 Logic 8 Red • SAL-00113 Logic Pro 8 Black • SAL-00114 Logic Pro 8 Red • SAL-00115 Logic Pro 16 Black • SAL-00116 Logic Pro 16 Red Datasheets: • Logic • Logic16 •… -
Page 5
Gripper Hooks, Saleae Carrying Case, USB 2.0 Micro Cable, & the Getting Started Card • Logic Pro 8 includes: Saleae Logic Pro 8 USB Logic Analyzer, 2x 4-Channel Wire Harnesses, 16x Micro-Gripper Hooks, Saleae Carrying Case, USB 3.0 Cable, & the Getting Started Card •… -
Page 6: Safety Summary & Warranty
Ground Current Safety Specifically, this is when a high current flows from the ground pin on the logic analyzer to the ground on the USB port of your computer, or vice versa. This current can easily damage the logic analyzer, your PC, and your DUT.
-
Page 7
USB port, back to the ground on the DUT. Basically, that is the same as shorting out the voltage supply on your DUT, but it uses the logic analyzer and your host PC as the short circuit, which could damage all components in the loop. -
Page 8
If one or both of the devices under test are floating, do they need to be floating? In order to record with a logic analyzer, they will need to be common grounded to each other AND to the PC to which the logic analyzer is connected. -
Page 9
Is the Logic Device Safe to Use in the Presence of Ground Loops? Yes, it is completely safe to use the Logic device as long as both grounds are at the same voltage level and as long as you only connect the Logic ground to the ground of the DUT. -
Page 10
Saleae products are covered by a 3-year warranty, regardless of where you purchased the product. For more information, see: 180-Day Return Policy and 3-Year Warranty If you believe your Logic hardware is broken, please follow the troubleshooting steps in the article here: Saleae Warranty & RMA Testing Procedure… -
Page 11: Software Download & Installation
Software Download & Installation Downloading the Latest Software The Saleae Logic software is available free of charge, and can be installed on as many machines as you like. The latest stable release of the Saleae Logic software can be downloaded below: •…
-
Page 12
Download the zip file and extract it. The software will run from this folder. You can leave this folder on your desktop or move it anywhere that has write permissions. Launch the Logic software by opening the folder and double-clicking the Logic executable. You may want to make a shortcut to this executable for more convenient access. -
Page 13: Navigating The Software
Navigating the Software This section will guide you through the features of the Logic software. This is a great first step to take to familiarize yourself with the features of the software. When no Logic device is connected, the software will work in demo mode, which is virtually identical to how it will function when a device is connected.
-
Page 14
3. Options Button Opens system-wide settings for the Logic software, which allows you to save captures, export data, and modify various settings for the Logic software. 4. Capture tab You can save previous captures so you can refer to it later. The example image below shows 3 tabs (the current capture tab on the left, and 2 previously saved capture tabs). -
Page 15
Rearranging Channels To rearrange channels, drag them by their grip icon at the far left of the channel. To drag more than one channel, select the first channel by clicking anywhere in the channel label area. Then control-click additional channels, selecting them as well. You can use shift-select to select a range of channels. -
Page 16
Changing Channel Size To change the channel size, click the channel settings icon (gear) on the desired channel and select a new size. To change multiple channels to the same size, select them (control-click) and then set one of the selected channel’s size. -
Page 17
To select all channels, select one and then press CTRL-A. Hiding Channels To hide a channel, click the channel settings icon (gear) and select Hide Channel. You can hide multiple channels at the same time by selecting multiple channels and then selecting Hide Channel on one of them. -
Page 18
Editing Channel Labels By default, channels are labeled Channel N where N is the channel number. To make it easier to remember which channel is connected to what, these labels are user-editable. To change a channel label, first click anywhere over the existing label name. This will switch the label into the editing mode. -
Page 19
Page 19 of 69… -
Page 20: Connecting The Logic Hardware
Original Logic, Logic16, Logic 4, and Logic 8 requires at least a USB 2.0 port. Logic Pro 8 and Logic Pro 16 requires at least a USB 3.0 port. If connecting these products to a USB 2.0 port, please see: Limitations of Using Logic Pro 8 and Logic Pro 16 on USB 2.0 Ports…
-
Page 21: Device Calibration
When connected to the internet, the Logic software will automatically handle downloading the calibration file. The 2nd Generation of Saleae products (Logic 4, Logic 8, Logic Pro 8, & Logic Pro 16) use calibration data generated at Saleae to display accurate AC and DC values. The 1st Generation (Original Logic and Logic16) do not require any form of calibration.
-
Page 22
Manually Download the Calibration File The Logic software will automatically handle downloading the calibration file. In rare cases, users may need to download the file manually if the software is not able to download it on its own. Follow the steps below. -
Page 23
4. Check preferences dialog to be sure the calibration data is loaded. 5. Close the software. 6. Copy all *.cal files from the calibration folder of that computer to the computer without Internet access. Each .cal file is specific to a single device, but the .cal files are saved with the device ID in decimal and not hex, making it hard to tell which is which. -
Page 24: Connecting Accessories
Connecting the 2×4 Harness If you have Logic 4, Logic 8, or Logic Pro 8/16, then you have one or more 2×4 wire harnesses. The four black leads are ground and should be on the bottom. The four colored leads are the signal inputs and should be on the top.
-
Page 25
Connecting the 1×9 Harness If you have the original Logic or Logic 16, then you have one or more 1×9 wire harnesses. These harnesses are colored according to the resistor color code for 0–7. The colors match the channel colors in the software. -
Page 26
Test Clips All Logic products come with enough test clips for every test lead. These test clips have two metal pins that can be inserted into the connector at the end of each test lead. Only one of the metal pins needs to be connected to a single test lead connector. -
Page 27
(typically wire-wrap wire) to an exposed pin, trace, or via, and then use Logic’s test clip to connect to that wire. Alternately, you can invest in some extremely small pitch test clips such as these:… -
Page 28: Collecting Data & Device Settings
Click that tab and then take your capture. If the Start Simulation appears instead of Start, it means the Logic hardware is disconnected. Page 28 of 69…
-
Page 29
If the software incorrectly reports Disconnected, please follow this troubleshooting guide: Troubleshooting Device Connection 2: Software Connection to the Device Device Settings To access device settings, click the up or down arrow in the top-left of the software. To close the Device Settings, click on something outside the popover. -
Page 30
Note: Not all devices have selectable channels. The original Logic does not have selectable channels, and Logic 4 only allows you to enable or disable the analog input. The digital channels are always enabled. You can switch the analog channel on and off by selecting sample rate options with and without analog sample rates. -
Page 31
Digital Trace Colors For easy of readability, the digital trace color can match the channel color. To set this, click Options -> Preferences -> Interaction tab -> Use color. Page 31 of 69… -
Page 32: Using The Trigger
Using the Trigger Using the Trigger The trigger can be used to start capturing data after a specified digital event occurs. Two types of triggers are supported: Trigger on Edge and Trigger on Pulse Width. The trigger can be used to trigger on an event from any channel. To move the event trigger to a different channel, first remove it using the steps at the bottom of this page, and then add it to a different channel.
-
Page 33
Trigger on Pulse Width You can also trigger on a pulse width condition where a particular channel is high or low for a specified amount of time. To add a pulse width trigger, click the +Trigger button on the desired channel and select the positive or negative edge. -
Page 34
You can skip the trigger by clicking «skip trigger» if you would like to force the capture to begin without the trigger condition being met. Stopping the Capture If the trigger condition is identified, data collection will start. You can stop the capture at any point in time by clicking «Stop». -
Page 35
Page 35 of 69… -
Page 36: Real-Time View (In Beta)
You can try it out in the latest version of our beta software below: • Latest Beta Release To understand how it works, and to keep up with the latest features, you can read more about it in Saleae Blog. More updates to come, so stay tuned! Page 36 of 69…
-
Page 37: Navigating Your Data — Zooming, Panning, Rearranging, & Resizing
Navigating Your Data — Zooming, Panning, Rearranging, & Resizing Zooming In and Out To zoom in and out, use your mouse wheel. You can also use the up/down arrow keys or the plus/minus keys. Panning Left and Right To pan left and right, click and drag the display. Page 37 of 69…
-
Page 38
You can also use the left/right arrow keys or the scroll bar at the bottom of the display. Jumping between Digital Edges Sometimes digital data come in packets with long periods of idle in between. To jump over idle periods, move your mouse to the far right or far left of a particular channel. A jump button will appear. -
Page 39
Click this button to jump to the next digital transition on that channel. You can also use the keyboard shortcuts N and P («next» and «previous»). The keyboard shortcut applies to the channel whose jump button was last pressed. Scrolling through Channels Sometimes you may have more channels displayed than can fit on the screen at the same time. -
Page 40
Alternatively, there is a slider bar at the right side of the channel graphs. Page 40 of 69… -
Page 41
You can also use the Page Up and Page Down keys. Page 41 of 69… -
Page 42: Measurements, Timing Markers, And Bookmarks
Measurements, Timing Markers, and Bookmarks Digital Instantaneous Measurements To see instantaneous measurements while hovering over a digital channel recording, right-click the digital waveform and make sure «Show Digital Instantaneous Measurement» is checked. You can also select which measurements are made, and you can save the measurement so it stays persistent on the waveform, even when the mouse is not hovering over Analog Instantaneous Measurements To see instantaneous measurements while hovering over an analog channel recording, right-click the…
-
Page 43
Using Annotations All annotations are listed in the Annotations sidebar at the top right of the software. By default, the Annotations sidebar will contain a Timing Marker annotation. Using Timing Markers Page 43 of 69… -
Page 44
Timing markers can be used to measure elapsed time between any two locations in your data. By default, the Annotations sidebar will contain a Timing Marker annotation. To place a timing marker, first press the A1 or A2 buttons. Move your mouse to the desired location and click to place the marker. To cancel placing a timing marker, right-click. -
Page 45
To delete a timing marker, select its settings icon (gear) and choose Delete Annotation. Using Bookmarks A Bookmark is simply a recording of your exact position and zoom level in your data. By making a bookmark, you can quickly zoom back to this area again later. To add a Bookmark, click the Plus button on the Annotations panel and select Bookmark. -
Page 46
To delete a bookmark, select its settings icon (gear) and choose Delete Annotation. Using Measurements (Persistent) Adding a Measurement allows you to add a permanent annotation to your data for later reference. In addition, Measurement Annotations allow for more sophisticated computations than the temporary measurements that always appear at the mouse cursor. -
Page 47
The Measurement appears in the Annotations sidebar at the right of the software. Click on the text to edit the name of the Measurement. To zoom in on the measurement, click its icon on the left side. To delete a measurement, click on its gear button and select Delete Annotation. You can also delete a Measurement by right-clicking anywhere in the Measurement area and selecting Delete Measurement. -
Page 48
Supported digital measurement calculations: • Width (for persistent measurements, this is the time span of the measurement) • Frequency (this is just 1/width) • Average Frequency (average frequency of all complete cycles inside the range) • Average Duty Cycle (average duty cycle of all complete cycles inside the range) •… -
Page 49: Saving, Loading, And Exporting Data
Open Capture. You can also press CTRL-O. You can also drag a capture file into the Logic software. On Windows, you can double-click a capture file to open it in the Logic software. Exporting Data If you need to view, manipulate, or process data in another application, you can export it.
-
Page 50
Note: For exporting protocol analyzer data, see the Protocol Analyzer section. Export Settings To export your setting, click the Options button at the top right and select Save Setup. From there, you will be prompted to save a .logicsettings file. The .logicsettings file will save the settings associated with the current active tab. -
Page 51
Exporting in VCD Format VCD stands for value change dump. It is a text-based format used for saving digital data (it can’t be used with analog data). Exporting in Binary Format A binary format is provided primarily for those interested in loading data into a script or custom application. -
Page 52
Additional Data Export Notes Some export formats have different options when exporting a mix of digital and analog channels or exporting only analog channels. Not all export options are available in some cases. CSV can be used to export digital channels, analog channels, or a mix of digital and analog channels. Different options are available for each of these cases, and the format varies slightly. -
Page 53
Page 53 of 69… -
Page 54: Saving And Loading Software Settings
Saving and Loading Software Settings The Saleae software includes two features to save and reload your work. The first is the ability to save and reload the entire capture, complete with settings, analyzers, and the captured data. The second is the ability to save the setup without captured data.
-
Page 55: Using Protocol Analyzers
Using Protocol Analyzers Protocol Analyzers decode data that have been encoded according to a particular protocol such as SPI or I2C. The Logic software currently offers 23 protocol analyzers. Adding Protocol Analyzers To add a Protocol Analyzer, click the Plus button on the Analyzers sidebar on the right of the software.
-
Page 56
To edit the settings for an existing analyzer, find that analyzer in the Analyzers panel on the right of the software. Click the gear button and select Edit Settings. After editing your analyzer settings, the analyzer will rerun against any data you have collected and will update all results. -
Page 57
Edit the Analyzer Name If you like, you can edit the name of the analyzer to help keep track of what it is connected to. On the desired analyzer, click on the text to rename. Starting an Analyzer at a Specific Point in the Software Sometimes it is desirable to start the analyzer only at a specified location in your data. -
Page 58
Viewing Protocol Analyzer Results When a protocol analyzer successfully decodes data, colored regions will appear above the digital waveform where a byte or other bit-field is transmitted. Be sure to zoom in far enough to see the transitions making up a particular byte or bit-field. In addition to displaying results over the digital waveform (in context), results are displayed in a list in the Decoded Protocols panel on the right of the software. -
Page 59
To search for a specific result, type the exact text you would like to match. For example, if you would like to find transactions involving the I2C address 0x42, type 0x42 (assuming the display radix is hexadecimal). Filter Analyzer Results to a Specific Range To limit the protocol results to a specific range, first add a timing marker pair with marker 1 and marker 2 placed at the beginning and end of the area on the graph you would like to search. -
Page 60
Then, from the «Choose timing markers» dialog, select the pair that you have just placed around the activity and click Search. The results are now filtered to all enabled analyzers within that time range. Page 60 of 69… -
Page 61: Simulation Data & Demo Mode
Simulation Data & Demo Mode Demo Mode When the software is not connected to a Saleae Logic device, it switches into demo mode so potential users can explore the features of the software before deciding to buy the unit. In demo mode, the title bar will say [Disconnected] and the green button will say Start Simulation.
-
Page 62: Capture Settings Configuration Guide
2 Gbps. Each digital sample for each channel consumes 1 bit. The analog samples are either 8 bit for Logic 4 or 12 bit for the new Logic 8, Logic Pro 8, and Logic Pro 16. (Although Logic 8 is advertised as a 10-bit product, we maintain 12-bit samples through the entire process.
-
Page 63
active analog channels and reduce the sample rate to the minimum required for the remaining active channels. In general, there is no benefit to sampling with lower digital sample rates. Our software run length encodes the data as it arrives so that memory usage is directly proportional to data density and unrelated to the sample rate. -
Page 64
• Some devices, including Logic Pro 8, Logic Pro 16, and the original Logic16, support multiple selectable voltage thresholds. In addition to being required to correctly record digital data at different IO threshold standards, voltage thresholds are important for rejecting noise near ground and avoiding double edge hits. -
Page 65: Time & Memory Saving Tools
Time & Memory Saving Tools Faster post-processing of analog captures After a capture, analog data can be processed faster if Upsampled Pipeline is disabled. Faster post-processing of decoded protocols You can disable the Decoded Protocols search window located on the bottom-right of the software. This will disable software indexing of the decoded protocols and will remove the ability to search protocol results.
-
Page 66
Saving and Loading Software Settings The software settings can be saved and loaded at a later time, allowing the user to recall a particular setup. This is especially useful when jumping back and forth between multiple test setups. See: Saving and Loading Software Settings Reducing Capture File Disk Usage The file size of a capture file (.logicdata file) can be significantly reduced by zipping it to a compressed… -
Page 67: Keyboard Shortcuts
Keyboard Shortcuts (On OSX, CTRL is replaced by Command) Start a Capture: CTRL-R Stop a Capture: ESC or Enter (presses the Stop button) Move Right/Left: Right/Left Arrow Keys (Add CTRL to move faster) Zoom In/Out: Up/Down Arrow Keys (Add CTRL to move faster). Also Plus and Minus (+/-) Zoom to Region: Shift+Click and drag over region to zoom Zoom All the Way Out: Ctrl+0 Place Timing Markers: All numbers 1=A1, 2=A2, 3=B1, and so on…
-
Page 68: Connector Dimensions
Logic Pro 16 The Gen 1 accessories are compatible with these devices: • original Logic (discontinued) • original Logic16 (discontinued) When using the Gen 2 Logic-to-2×4 header adapters, please use this pin out on your board (top view): Page 68 of 69…
-
Page 69
2) Add female right-angle headers to the edge of your board, or vertical headers to mount the logic analyzer vertically to your board. Below are diagrams of the connectors on the new Saleae logic analyzers. Note that Logic 8 and Logic Pro 8 have the same dimensions.
Поиск неисправной микросхемы с помощью логического анализатора
Сегодня хочу рассказать как можно обнаружить неисправную микросхему с помощью логического анализатора.
Очень часто на платах присутствует несколько микроконтроллеров, которые общаются между собой посредством интерфейса SPI, I2C или какого-то другого. И почти всегда на старте центральное управляющее устройство проверяет правильную инициализацию управляемых устройств. Такая проверка осуществляется установкой связи с управляемым микроконтроллером и попыткой чтения или записи некоторых значений регистров. И в случае сбоя отправляется сигнал сброса RESET на все устройства.
Например, в автомагнитоле HU-850 это можно заметить по характерным повторяющимся щелчкам в колонках с периодом в 3-5 секунд после включения.
Чтобы найти неисправную микросхему нужно первым делом прозвонить все выводы на короткое замыкание и убедиться, что на все входы Vcc и Vdd подается правильное напряжение питания. Информацию о расположении выводов можно найти в даташите на микросхему.
Выводы питания на микросхеме и выводы I2C интерфейса
Вот так в даташите выглядит схема выводов. Так как микросхема может состоять из нескольких блоков, то и питание на них может подаваться раздельно и лучше прозвонить их все и убедиться, что с этим все в порядке.
На схеме красным цветом обозначил выводы питания — Vss(земля) и Vdd(+3.3V). А сигнал RESET подается через 42-ю ногу с подписью DSP_RESET. Надеюсь сами её на картинке найдете
Процедура сброса так же описывается в даташите. Active low означает, что на эту ногу подается постоянное напряжение +5V и сброс произойдет, когда напряжение упадет близко к 0.
Описание процедуры сброса микроконтроллера
Для определения того, что управляющий контроллер посылает сигнал сброса на другие устройства, необходимо установить мультиметр в режим проверка постоянного напряжения +20V и поставить красный щуп на пин 42 DSP_RESET, а черный на землю. Если на протяжении 10-15 секунд вы будете наблюдать постоянное напряжение без падения, то сброса не происходит. Для более точного определения лучше подключить осциллограф, но не у всех он есть. Такую процедуру лучше провести для всех микроконтроллеров в схеме, так как они могут управляться разными каналами сброса с центрального контроллера.
Но иногда бывает так, что несколько контроллеров завязаны на одну шину и управляются одним сбросом. Тогда сигнал сброса будет поступать сразу на все устройства и этим методом определить неисправный контроллер не получится.
В этом случае нам необходимо будет проверить сигнал на входе в I2C интерфейс. На этой микросхеме вывод A0 заземлен, так как он таким образом формирует режим подчиненного устройства(slave) для этого микроконтроллера. А на выводах SCL и SDA должно быть почти постоянно напряжение +5V. При передаче данных напряжение будет падать и это означает, что сигнал с управляющего устройства по крайней мере доходит до вывода микросхемы
Входы I2C шины
На фото я обозначил входы I2C шины, которые подаются через резисторы на ноги микросхемы. Левая нога это SCL, а правая SDA.
После того как мы убедились, что с питанием микросхемы все в порядке, а по интерфейсу I2C идут какие-то данные, но центральный контроллер все равно посылает сигнал сброса, необходимо подключить логический анализатор и убедиться, что все подчиненные микроконтроллеры отвечают на запросы центрального.
Для этого необходимо иметь логический анализатор. Я купил такой на Ozon за примерно 900 рублей. На Алиэкспрессе будет дешевле раза в два
Логический анализатор — китайский клон Saleae Logic Analyzer
Для анализа нам потребуется программа Saleae Logic, которую можно скачать с сайта абсолютно бесплатно.
Скачать Saleae Logic
Учтите, что логический анализатор, так же как и большинство программаторов не будет работать от урезанного вывода USB на передней панели компьютера. Я сперва даже подумал, что мне нерабочий продали Но подключил сзади напрямую в плату и все заработало.
Теперь подключаем каналы анализатора к выводам микросхемы и запускаем процесс.
Специальные захваты для тестирования микросхем
Специальные захваты для ножек микросхем с логическим анализаторов в комплекте не идут и я покупал их на Aliexpress. Но можно использовать иглы от BDM рамки, как на первом фото.
Я подключился к соседней микросхеме, так как они работают по одной шине и увидел такую картину в программе анализа.
Анализ обмена данными по шине I2C
Как можно видеть справа, обмен данными идет с двумя устройствами с адресами 0x1E и 0x1C. И первое устройство передает какие-то данные, а вот 0x1C не отвечает на запросы управляющего микроконтроллера. Адресацию устройства можно посмотреть в даташите. В моем случае 0x1E это маленький квадратный контроллер, а 0x1C это как раз исследуемый прямоугольный SAA7709H.
! Рекомендую в случае нескольких контроллеров на одной шине подключить захваты на все микросхемы к выводам SDA и SCL и протестировать каждую. Так как при подключении к «неисправной» микросхеме 0x1C я увидел такую картину:
Нерабочий обмен по шине I2C
А должно быть вот так:
Рабочий обмен по шине I2C
То есть, по каналу SCL(канал синхронизации, снизу графика) напряжение подается нормально и сигнал проходит. А вот по каналу SDA(сверху) нет нормальной формы сигнала данных. Это означает, что что-то не так с напряжением. Замерил еще раз мультиметром и анализатором до и после резистора и оказалось, что до резистора сигнал приходит нормальный, а после уже неправильный. Проверил резистор, он работает нормально, КЗ нет, сопротивление соответствует маркировке. Пропаял ногу SDA и точку рядом и сигнал начал проходит нормально.
(на этом скрине SCL и SDA были подключены наоборот. SCA теперь снизу, а SCL сверху)
Проверка ответа на I2C логическим анализатором
Микросхема начала отвечать на запросы центрального микроконтроллера.
Сигналы RESET перестали поступать и магнитола нормально заработала.
P.S. Подписывайтесь на мой блог, если интересуетесь ремонтом автомобильной электроники
Логический анализатор – незаменимый помощник при отладке цифровой схемотехники. Давайте рассмотрим основные приёмы работы с логическим анализатором Saleae Logic Analyzer и его китайскими аналогами.
Для работы нам понадобится:
1 Технические характеристики логического анализатора Saleae logic analyzer
Логический анализатор – это инструмент для временного анализа цифровых сигналов. Это незаменимый, действительно незаменимый инструмент при отладке цифровой электроники. Оригинальные анализаторы от именитых производителей стоят больших денег. У наших китайских друзей можно купить такое устройство за копейки. Поэтому если у вас его ещё нет – обязательно приобретите. Возможности данного небольшого устройства весьма внушительны.
В таблице перечислены основные параметры логического анализатора, моей китайской копии анализатора фирмы Saleae.
Параметр | Значение |
---|---|
число цифровых каналов | 8 |
частота оцифровки на канал | до 24 МГц |
количество сэмплов в выборке | до 1G (зависит от количества памяти ПК) |
входное сопротивление | 100 кОм |
диапазон рабочих напряжений | –0,5…5,25 В |
напряжение логического «0» | –0,5…0,8 В |
напряжение логической «1» | 2,0…5,25 В |
защита от статики | |
защита по превышению напряжения | +/−15 В |
2 Установка драйверадля логического анализатора Saleae
Для данного логического анализатора – китайской копии – к счастью, подходит драйвер от оригинала. Заходим на официальный сайт, скачиваем программу для своей операционной системы и устанавливаем её. Драйверы будут установлены вместе с программой. Кстати, обзор возможностей программы в виде инструкции на английском языке приложен в конце данной статьи.
Скачиваем программу и драйверы для логического анализатора Saleae Logic Analyzer
Если у вас копия другой фирмы, например, USBee AX Pro, то с большой долей вероятности для него также подойдут драйверы от производителя анализатора-оригинала.
3 Примеры работы с логическим анализатором
Для первого эксперимента возьмём преобразователь USB-UART на микросхеме FTD1232. Подключим анализатор к порту USB. Выводы каналов с 1 по 6 подключим к выводам USB-UART преобразователя. По большому счёту, больше всего нас интересует только две линии – Rx и Tx, можно обойтись только ими. Преобразователь определился в системе как COM-порт. Запустим любую терминалку (вот, например, неплохая программа для работы с COM-портом) и подключимся к порту.
Подключение USB-UART конвертера на микросхеме FTD1232 к логическому анализатору
Запускаем программу Saleae Logic. Если драйверы для анализатора установлены корректно, в заголовке программы будет указано Connected – подключено. Допустим, мы не знаем на каком канале будет сигнал, а на каком нет, поэтому не будем выставлять триггер для начала захвата сигнала. Просто нажмём на стрелки большой зелёной кнопки Start (Старт) и выставим в поле Duration (Длительность), скажем, 10 секунд. Это время, в течение которого логический анализатор будет собирать приходящие по всем 8-ми каналам данные после нажатия кнопки «Старт». Запускаем захват и одновременно отправляем в COM-порт какое-нибудь сообщение. Через 10 секунд анализатор закончит сбор данных и выведет результат в поле просмотра сигналов. В данном случае сигнал будет лишь на одном канале, который присоединён к выводу Tx (передатчик) USB-UART преобразователя.
Последовательный сигнал, захваченный логическим анализатором
Для наглядности можно настроить декодер перехваченных данных. Для этого в правом столбце находим поле Analyzers, нажимаем иконку в виде плюса – «Добавить», указываем тип – Async Serial. Появится окно с выбором настроек. В первое поле вводим номер канала, на котором у вас данные. Остальное оставим как есть. После нажатия кнопки Save (Сохранить), над полем соответствующего канала появятся метки голубого цвета с отображением значений байтов, которые были перехвачены. Нажав на шестерёнку в данном дешифраторе, можно задать режим отображения значений – ASCII, HEX, BIN или DEC. Если вы передавали в COM-порт строку, выберите режим ASCII, и увидите тот текст, который был вами передан в порт.
Настройки декодера данных
Тут же, в правом столбце программы Saleae Logic, можно добавлять к перехваченным данным закладки, проводить измерения задержек и длительностей, выставлять всевозможные маркеры и даже проводить поиск по данным для декодированных протоколов.
Аналогичным образом подключим логический анализатор к преобразователю USB-RS485. Линии данных всего две, поэтому можно установить триггер срабатывания по фронту любого из каналов: сигнал в протоколе RS-485 дифференциальный и фронты импульсов появляются одновременно на каждом из каналов, но в противофазе.
Подключение конвертера USB-RS485 к логическому анализатору
Нажмём кнопку «Старт» в программе анализатора. С помощью нашей терминалки подключимся к USB-RS485 конвертеру и передадим какие-нибудь данные. По срабатыванию триггера программа начнёт собирать данные, по завершению выведет их на экран.
Последовательный сигнал RS485, захваченный логическим анализатором
Программа Saleae Logic позволяет экспортировать сохранённые данные в виде изображений и текстовых данных, сохранять настройки программы, аннотации и декодеры каналов.
Последний пример в данном небольшом обзоре – захваченный кадр данных, переданный по последовательному протоколу SPI. В канале 2 виден сигнал выбора ведомого, в канале 0 – тактовые импульсы, а в канале 1 – собственно данные от ведущего устройства к ведомому.
Последовательный сигнал SPI, захваченный логическим анализатором
Выводы
Логический анализатор может быть очень полезен при разработке и настройке всевозможных электронных устройств, при написании программного обеспечения, работающего в связке с железом, при работе с микроконтроллерами, ПЛИС и микропроцессорами, для анализа работы различных устройств и протоколов обмена данными, и для многих других применений. Кроме того, он портативен и не нуждается в отдельном питании.
Инструкция по работе с программой для логического анализатора Saleae
По ссылкам ниже можно скачать инструкцию с файлообменников, либо напрямую с сайта.
Логический анализатор – незаменимый помощник при отладке цифровой схемотехники. Давайте рассмотрим основные приёмы работы с логическим анализатором Saleae Logic Analyzer и его китайскими аналогами.
Для работы нам понадобится:
1 Технические характеристики логического анализатора Saleae logic analyzer
Логический анализатор – это инструмент для временного анализа цифровых сигналов. Это незаменимый, действительно незаменимый инструмент при отладке цифровой электроники. Оригинальные анализаторы от именитых производителей стоят больших денег. У наших китайских друзей можно купить такое устройство за копейки. Поэтому если у вас его ещё нет – обязательно приобретите. Возможности данного небольшого устройства весьма внушительны.
В таблице перечислены основные параметры логического анализатора, моей китайской копии анализатора фирмы Saleae.
Параметр | Значение |
---|---|
число цифровых каналов | 8 |
частота оцифровки на канал | до 24 МГц |
количество сэмплов в выборке | до 1G (зависит от количества памяти ПК) |
входное сопротивление | 100 кОм |
диапазон рабочих напряжений | –0,5…5,25 В |
напряжение логического «0» | –0,5…0,8 В |
напряжение логической «1» | 2,0…5,25 В |
защита от статики | |
защита по превышению напряжения | +/−15 В |
2 Установка драйверадля логического анализатора Saleae
Для данного логического анализатора – китайской копии – к счастью, подходит драйвер от оригинала. Заходим на официальный сайт, скачиваем программу для своей операционной системы и устанавливаем её. Драйверы будут установлены вместе с программой. Кстати, обзор возможностей программы в виде инструкции на английском языке приложен в конце данной статьи.
Скачиваем программу и драйверы для логического анализатора Saleae Logic Analyzer
Если у вас копия другой фирмы, например, USBee AX Pro, то с большой долей вероятности для него также подойдут драйверы от производителя анализатора-оригинала.
3 Примеры работы с логическим анализатором
Для первого эксперимента возьмём преобразователь USB-UART на микросхеме FTD1232. Подключим анализатор к порту USB. Выводы каналов с 1 по 6 подключим к выводам USB-UART преобразователя. По большому счёту, больше всего нас интересует только две линии – Rx и Tx, можно обойтись только ими. Преобразователь определился в системе как COM-порт. Запустим любую терминалку (вот, например, неплохая программа для работы с COM-портом) и подключимся к порту.
Подключение USB-UART конвертера на микросхеме FTD1232 к логическому анализатору
Запускаем программу Saleae Logic. Если драйверы для анализатора установлены корректно, в заголовке программы будет указано Connected – подключено. Допустим, мы не знаем на каком канале будет сигнал, а на каком нет, поэтому не будем выставлять триггер для начала захвата сигнала. Просто нажмём на стрелки большой зелёной кнопки Start (Старт) и выставим в поле Duration (Длительность), скажем, 10 секунд. Это время, в течение которого логический анализатор будет собирать приходящие по всем 8-ми каналам данные после нажатия кнопки «Старт». Запускаем захват и одновременно отправляем в COM-порт какое-нибудь сообщение. Через 10 секунд анализатор закончит сбор данных и выведет результат в поле просмотра сигналов. В данном случае сигнал будет лишь на одном канале, который присоединён к выводу Tx (передатчик) USB-UART преобразователя.
Последовательный сигнал, захваченный логическим анализатором
Для наглядности можно настроить декодер перехваченных данных. Для этого в правом столбце находим поле Analyzers, нажимаем иконку в виде плюса – «Добавить», указываем тип – Async Serial. Появится окно с выбором настроек. В первое поле вводим номер канала, на котором у вас данные. Остальное оставим как есть. После нажатия кнопки Save (Сохранить), над полем соответствующего канала появятся метки голубого цвета с отображением значений байтов, которые были перехвачены. Нажав на шестерёнку в данном дешифраторе, можно задать режим отображения значений – ASCII, HEX, BIN или DEC. Если вы передавали в COM-порт строку, выберите режим ASCII, и увидите тот текст, который был вами передан в порт.
Настройки декодера данных
Тут же, в правом столбце программы Saleae Logic, можно добавлять к перехваченным данным закладки, проводить измерения задержек и длительностей, выставлять всевозможные маркеры и даже проводить поиск по данным для декодированных протоколов.
Аналогичным образом подключим логический анализатор к преобразователю USB-RS485. Линии данных всего две, поэтому можно установить триггер срабатывания по фронту любого из каналов: сигнал в протоколе RS-485 дифференциальный и фронты импульсов появляются одновременно на каждом из каналов, но в противофазе.
Подключение конвертера USB-RS485 к логическому анализатору
Нажмём кнопку «Старт» в программе анализатора. С помощью нашей терминалки подключимся к USB-RS485 конвертеру и передадим какие-нибудь данные. По срабатыванию триггера программа начнёт собирать данные, по завершению выведет их на экран.
Последовательный сигнал RS485, захваченный логическим анализатором
Программа Saleae Logic позволяет экспортировать сохранённые данные в виде изображений и текстовых данных, сохранять настройки программы, аннотации и декодеры каналов.
Последний пример в данном небольшом обзоре – захваченный кадр данных, переданный по последовательному протоколу SPI. В канале 2 виден сигнал выбора ведомого, в канале 0 – тактовые импульсы, а в канале 1 – собственно данные от ведущего устройства к ведомому.
Последовательный сигнал SPI, захваченный логическим анализатором
Выводы
Логический анализатор может быть очень полезен при разработке и настройке всевозможных электронных устройств, при написании программного обеспечения, работающего в связке с железом, при работе с микроконтроллерами, ПЛИС и микропроцессорами, для анализа работы различных устройств и протоколов обмена данными, и для многих других применений. Кроме того, он портативен и не нуждается в отдельном питании.
Инструкция по работе с программой для логического анализатора Saleae
По ссылкам ниже можно скачать инструкцию с файлообменников, либо напрямую с сайта.
Вам нужно одновременно контролировать входы и выходы 16-разрядного счетчика, чтобы определить ошибку синхронизации, но при этом у вас есть только 2-канальный осциллограф. Как же увидеть все это одновременно? Вы только что построили диаграмму сигналов для цифровой схемы. Как ее проверить? Чем воспользоваться для захвата и анализа этих сигналов?
Без соответствующего инструмента решение этих задач отнимет массу времени. Лучшим решением для всех перечисленных проблем будет логический анализатор. В этой статье рассматриваются основные вопросы применения логических анализаторов. Прочтя ее, вы получите отличное представление о функциях логического анализатора.
Выбирая между осциллографом и логическим анализатором, многие инженеры отдают предпочтение осциллографу. Однако в некоторых случаях польза от осциллографа весьма невелика. Существует множество задач, где логический анализатор может оказаться куда полезней.
Когда нужен осциллограф
- Когда нужно увидеть небольшие выбросы на сигнале
- Когда нужна высокая точность при определении временных интервалов
Когда нужен логический анализатор
Когда нужно увидеть много сигналов одновременно
Когда нужно представить сигналы именно так, как видит их само оборудование
Если нужно синхронизироваться от определенной комбинации сигналов на нескольких линиях и увидеть результат
Когда сигнал в вашей системе пересекает пороговое значение, логический анализатор реагирует на него точно так же, как и сама логическая схема. Он распознает лишь два состояния сигнала – «ноль» или «единица». Кроме того, он может синхронизироваться по определенному сочетанию нулей и единиц исследуемых сигналов.
В общем случае используйте логический анализатор тогда, когда вам нужно увидеть больше сигналов, чем может показать осциллограф. Логические анализаторы очень полезны для определения временных соотношений или для исследования данных, передаваемых по шине, например, адресов, данных или управляющих сигналов на шине микропроцессора. Они могут декодировать информацию на шинах микропроцессоров и представлять ее в осмысленном виде.
Если вы закончили параметрический этап проектирования и занялись исследованиями временных соотношений между многими сигналами, причем вам нужно синхронизироваться по определенному сочетанию логических уровней этих сигналов, то вам нужен именно логический анализатор.
Многие логические анализаторы состоят, по сути дела, из двух анализаторов. Первый из них – это анализатор временных диаграмм (АВД), а второй – анализатор логических состояний (АЛС).
Принцип работы анализатора временных диаграмм
Анализатор временных диаграмм выводит информацию практически в том же виде, что и осциллограф, откладывая по горизонтальной оси время, а по вертикальной – уровень напряжения. Поскольку форма сигналов в обоих приборах зависит от времени, говорят, что они представляют сигнал во временной области.
Выбор правильного метода дискретизации
Анализатор временных диаграмм подобен цифровому осциллографу с вертикальным разрешением один бит. При разрешении один бит анализатор видит только два состояния – «ноль» или «единицу». Для него существует лишь один, определенный пользователем порог напряжения. Если сигнал в момент дискретизации превышает порог, анализатор отображает его как сигнал высокого уровня или «единицу». Если сигнал оказывается ниже порога, он отображается как «ноль» или сигнал низкого уровня. В результате создается список нулей и единиц, представляющий собой однобитное представление входного сигнала. Этот список сохраняется в памяти и используется для восстановления однобитной формы входного сигнала, как показано на рис. 1.
Рисунок 1. Точки дискретизации анализатора временных диаграмм
1. Порог
2. Точка дискретизации
3. Результаты дискретизации (0 означает, что сигнал ниже порога)
Результаты дискретизации (1 означает, что сигнал выше порога)
Анализатор временных диаграмм показывает сигнал, реконструированный по результатам дискретизации
Анализатор временных диаграмм превращает все сигналы в сигналы прямоугольной формы, что, на первый взгляд, ограничивает его возможности. Однако если вам нужно проанализировать временные соотношения нескольких сотен сигналов путем одновременного их наблюдения, вам нужен именно логический анализатор.
Помните, что каждая точка дискретизации использует одну ячейку памяти. Поэтому, чем выше разрешение (выше частота дискретизации), тем меньше окно захвата.
Дискретизация переходов
При захвате пакетных данных, как показано на рис. 2, нужно выбрать максимальное разрешение (например, 4 нс), чтобы захватить быстрые импульсы в самом начале. Это значит, что анализатор временных диаграмм с объемом памяти 4K (4096 отсчетов) прекратит захват данных через 16,4 мкс, и второй пакет данных вы уже не захватите.
Во время повседневной отладки нам постоянно приходится регистрировать и сохранять данные в моменты, когда активность сигнала отсутствует. Это приводит к бесполезному расходу памяти анализатора, не давая никакой дополнительной информации. Эту проблему можно решить, если знать, в какие моменты времени возникает переходной процесс и какой будет полярность сигнала – положительной или отрицательной. Эта информация составляет основу анализа переходов и позволяет повысить эффективность использования памяти.
Для реализации эффективного анализа переходов нужно использовать на входе анализатора временных диаграмм «детектор переходов» и счетчик. Теперь анализатор будет сохранять только те отсчеты, которым предшествовал переход, вместе со временем, прошедшим от последнего перехода. При таком подходе используется всего две ячейки памяти на каждый переход, а при отсутствии активности – память вообще не используется.
В нашем примере мы можем захватить второй пакет, а также третий, четвертый и пятый, в зависимости от того, сколько импульсов входит в состав пакета. В то же время, мы можем сохранить максимальное разрешение 4 нс (рис. 3).
Рисунок 2. Дискретизация с высоким разрешением
1. Точки дискретизации (все сохраняются в памяти)
2. 36 нс
3. 50 мкс
4. Память заполнена
4096 х 4 нс = 16,4 мкс
Рисунок 3. Дискретизация с детектором переходов
1. Точки дискретизации
2. Точки дискретизации, сохраненные в памяти
3. 36 нс
4. 50 мкс
5. Потребовалось всего 28 ячеек памяти (14 точек дискретизации + 14 временных интервалов)
Захват выбросов
Выбросы имеют дурную привычку появляться в самые неподходящие моменты времени с самыми тяжелыми последствиями. Анализатор временных диаграмм дискретизирует входные сигналы, следит за переходами, возникающими между выборками, и может обнаружить появление выброса. В случае анализатора выброс определяется как переход, несколько раз пересекающий порог между соседними выборками. Для распознания выброса мы должны «научить» анализатор распознавать множественные переходы и показывать их, как выбросы.
Хотя отображение выбросов само по себе очень полезно, было бы еще полезней синхронизироваться от выброса и показывать данные, предшествующие ему. Это помогло бы определить причину, вызвавшую выброс. К тому же, такая способность позволила бы анализатору регистрировать данные только тогда, когда нужно – в момент появления выброса.
Предположим, что у нас есть система, которая периодически сбоит из-за выбросов на одной из линий. Поскольку выбросы появляются редко, постоянное сохранение данных приведет к невероятному увеличению объема анализируемой информации (при наличии достаточного объема памяти). Или можно взять анализатор без функции синхронизации по выбросам и сидеть перед ним, нажимая кнопку Пуск, пока не заметим выброс.
Синхронизация анализатора временных диаграмм
Логический анализатор постоянно захватывает данные и прекращает захват при обнаружении точки трассировки. Это позволяет анализатору показывать информацию, предшествующую точке трассировки (известную, как отрицательное время), а также информацию после точки трассировки.
Синхронизация по комбинации сигналов
Определение условий трассировки для анализатора временных диаграмм несколько отличается от настройки уровня синхронизации осциллографа. Многие анализаторы могут синхронизироваться от определенного сочетания нулей и единиц на входных линиях.
Для облегчения работы условия синхронизации в большинстве анализаторов можно вводить в виде двоичных (нулей и единиц), шестнадцатеричных, восьмеричных или десятичных чисел или в виде символов ASCII. Использование шестнадцатеричных чисел особенно удобно для анализа шин, имеющих разрядность 4, 8, 16, 24, или 32 бита. Представьте, как сложно было бы указать условия синхронизации 24-битной шины в виде двоичного числа.
Синхронизация по фронту
Настройку уровня запуска в осциллографе можно представить, как установку уровня на компараторе, который вызывает запуск осциллографа, когда входное напряжение пересекает этот уровень. При синхронизации по фронту анализатор временных диаграмм работает, в сущности, так же, за исключением того, что уровень запуска определяется установкой логического порога.
Хотя многие логические устройства реагируют на уровень, тактовые и управляющие сигналы этих устройств работают, как правило, по фронту. Синхронизация по фронту позволяет начать захват данных в момент тактирования устройства.
Можно настроить анализатор так, чтобы он начинал захват данных при появлении фронта тактовой частоты (переднего или заднего) и захватывал все выходы регистра сдвига. Конечно, в таком случае нужно обеспечить задержку точки трассировки, чтобы учесть задержку распространения в регистре сдвига.
Принцип работы анализатора логических состояний
Если вы никогда не пользовались анализатором логических состояний, вам может показаться, что это невероятно сложный прибор, на овладение которым нужно потратить массу времени. Истина в том, что многие разработчики аппаратуры считают анализатор логических состояний очень полезным инструментом.
Когда нужен анализатор логических состояний
«Логическим состоянием» логической схемы называется значение шины или линии в момент, когда данные достоверны.
Давайте рассмотрим обычный D-триггер. Данные на входе D недостоверны до тех пор, пока не появится положительный фронт тактового сигнала. Таким образом, состояние этого триггера соответствует моменту появления положительного фронта тактового сигнала.
Теперь представьте, что у нас есть восемь таких триггеров. Все восемь подключены к одному и тому же тактовому сигналу. При появлении положительного фронта тактового сигнала все восемь триггеров захватывают данные со своих «D» входов, и это происходит при каждом положительном фронте тактового сигнала. Эти восемь линий аналогичны шине микропроцессора.
Если мы подключим к этим восьми линиям логический анализатор и скажем ему, регистрировать данные при каждом появлении положительного фронта тактового сигнала, анализатор как раз и будет анализировать логические состояния. Никакая активность на входе не будет регистрироваться, пока сигнал тактовой частоты не перейдет в единицу.
Анализатор временных диаграмм использует для управления дискретизацией встроенный генератор тактовой частоты, в результате он асинхронно дискретизирует сигналы исследуемой системы. Анализатор состояния дискретизирует сигналы синхронно, поскольку он получает тактовую частоту от самой системы.
Как правило, анализатор состояния выводит данные в виде списка, тогда как анализатор временных диаграмм выводит данные в виде временной диаграммы.
Что такое тактовая частота
В анализаторе временных диаграмм дискретизация выполняется под управлением внутреннего генератора тактовой частоты. Это сильно упрощает ситуацию. Однако в микропроцессорных схемах система может иметь несколько тактовых частот.
Предположим, что мы хотим засинхронизироваться от определенного адреса памяти и увидеть сохраненные в нем данные. Будем считать, что в системе используется процессор Zilog Z80.
Чтобы наш анализатор мог захватывать адреса процессора Z80, он должен регистрировать данные в тот момент, когда линия MREQ переходит в ноль. Однако для захвата данных анализатор должен делать выборку в момент, когда в ноль переходит линия WR (цикл записи) или когда в ноль переходит линия RD (цикл чтения). Некоторые процессоры передают данные и адрес по одним и тем же линиям. Анализатор должен уметь считывать информацию с одной и той же шины, но в разные моменты времени.
Рисунок 4. Временная диаграмма работы памяти
1. Операция чтения
2. Операция записи
3. Тактовая частота
4. Ожидание
5. Достоверный адрес
6. Достоверные данные
7. Выходные данные
Во время цикла чтения или записи Z80 сначала выводит адрес на шину адреса. Затем он устанавливает сигнал MREQ, показывая, что на шине присутствует достоверный адрес для чтения или записи в память. После этого устанавливается линия RD или WR, в зависимости от того, что выполняется, чтение или запись. Причем линия WR устанавливается только при наличии на шине достоверных данных.
Таким образом, анализатор временных диаграмм выступает в роли демультиплексора, который в нужное время захватывает адрес, а затем захватывает данные, которые появляются на тех же линиях.
Синхронизация анализатора логических состояний
Подобно анализатору временных диаграмм, анализатор логических состояний способен классифицировать данные, которые мы хотим сохранить. Если нас интересует определенное сочетание нулей и единиц на шине адреса, мы можем сказать анализатору, начать сохранение при обнаружении этого сочетания и продолжить сохранение до заполнения памяти.
Информацию можно отображать в шестнадцатеричной или в двоичной форме. Может оказаться полезным декодировать шестнадцатеричный код в команды ассемблера. В случае процессора шестнадцатеричные коды представляют собой его команды. Большинство производителей анализаторов разработали специальные пакеты программ, которые называются дизассемблерами или обратными ассемблерами. Назначение этих пакетов – преобразовать шестнадцатеричный код в команды ассемблера, чтобы упростить их интерпретацию.
Рисунок 5. Преобразование шестнадцатеричного кода в команды ассемблера
Что такое уровни последовательности
Анализаторы состояния имеют «уровни последовательности», которые облегчают синхронизацию и сохранение. Уровни последовательности позволяют более точно классифицировать сохраняемые данные, нежели отдельные точки синхронизации. Это значит, что вы можете точно установить окно регистрации данных, не сохраняя информацию, которая вам не нужна. Обычно уровни последовательности выглядят примерно так:
Селективное сохранение экономит память и время
Под селективным сохранением подразумевается сохранение некоторой части большого целого. Например, предположим, что у нас есть процедура на ассемблере, которая возводит в квадрат заданное число. Если эта процедура выполняет возведение в квадрат с ошибкой, мы может заставить анализатор логических состояний захватить эту процедуру. Для этого мы сначала говорим анализатору, найти начало процедуры. Когда он найдет начальный адрес, мы говорим ему, искать конечный адрес, одновременно сохраняя все промежуточные данные. При обнаружении конца процедуры, мы говорим анализатору, остановить сохранение.
До сих пор мы обсуждали некоторые различия между осциллографами и анализаторами временных диаграмм и логических состояний. Но перед тем как мы сможем воспользоваться этими новыми приборами, нужно обсудить еще один вопрос – систему пробников.
Конструкция пробника логического анализатора позволяет подключать большое число каналов к исследуемой системе за счет некоторой потери точности по амплитуде. По традиции, логические анализаторы используют активные пробники со встроенными детекторами, рассчитанные на подключение восьми каналов и обладающие общей емкостью 16 пФ на канал.
Подключение пробников
Физическое подключение к цифровым системам должно быть надежным и удобным, чтобы точно передавать данные в логический анализатор с минимальным влиянием на исследуемую систему.
Типичным решением является пассивный пробник с шестнадцатью каналами на один кабель. Каждый кабель терминируется с обоих концов нагрузкой с сопротивлением 100 кОм и емкостью 8 пФ. Попробуйте сравнить электрические параметры пассивного пробника с пробником осциллографа. Кроме небольших размеров и высокой надежности, преимущество пассивной системы пробников заключаются в том, что можно терминировать пробник непосредственно в точке подключения его к исследуемой системе. Это позволяет исключить дополнительную паразитную емкость, связанную с проводами, соединяющими большие активные пробники с исследуемой системой. В результате тестируемая система «видит» емкость всего 8 пФ вместо 16 пФ, как в прежних системах снятия сигнала.
Пробники логического анализатора и другие принадлежности
Подключение анализатора логических состояний к микропроцессорной системе требует некоторых усилий, касающихся обеспечения механического подключения и выбора тактовых сигналов. Не забывайте, что нам надо тактировать анализатор логических состояний в моменты появления на шине достоверного адреса или данных. С некоторыми микропроцессорами может потребоваться применение внешних цепей для декодирования нескольких сигналов, чтобы получить сигнал тактовой частоты для анализатора. Пробник логического анализатора обеспечивает не только быстрое и надежное механическое соединение к исследуемой системе, но и все необходимые электрические адаптеры, такие как схемы тактирования и демультиплексирования.
Рисунок 6. Пробник логического анализатора
В этой статье рассказывается, что такое логический анализатор и какие функции он выполняет. Поскольку большинство анализаторов состоит из двух основных частей, анализатора временных диаграмм и анализатора логических состояний, мы рассмотрели их отдельно. Но вместе они образуют мощный инструмент для разработчика цифровых схем.
Анализатор временных диаграмм больше подходит для схем и приложений с использованием шины, где приходится иметь дело с несколькими линиями. Также он может синхронизироваться по комбинации логических состояний линий или по выбросам.
Анализатор логических состояний чаще рассматривается, как программное средство. На самом деле он находит широкое применение и в аппаратной сфере. Поскольку он получает тактовую частоту из исследуемой системы, его можно использовать для захвата данных в тот момент, когда их видит система – по тактовой частоте самой системы.
Теперь, вооружившись фундаментальными знаниями, вы сможете уверенно пользоваться логическим анализатором для отладки своих схем.