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

<channel>
	<title>hangcui1201 &#8211; Welcome to Hang&#039;s Website!</title>
	<atom:link href="https://hangpersonal.com/author/hangcui1201/feed/" rel="self" type="application/rss+xml" />
	<link>https://hangpersonal.com</link>
	<description>Embedded Systems</description>
	<lastBuildDate>Sun, 21 Jun 2026 21:30:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://hangpersonal.com/wp-content/uploads/2024/10/cropped-HC-32x32.jpg</url>
	<title>hangcui1201 &#8211; Welcome to Hang&#039;s Website!</title>
	<link>https://hangpersonal.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">252449636</site>	<item>
		<title>TI C2000: Multi-Core Communication &#8211; Inter-Processor Communications (IPC)</title>
		<link>https://hangpersonal.com/2026/06/21/c2000-ipc/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Sun, 21 Jun 2026 18:28:04 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6767</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication TMS320F28x7x Inter-Processor Communications (IPC) TMS320F28x7x IPC Global Shared RAM TMS320F28x7x IPC Message RAM TMS320F28x7x IPC Message Registers TMS320F28x7x IPC Interrupts and Flags TMS320F28x7x IPC Data Transfer TMS320F28x7x IPC Software Solutions Summary Inter-Processor Communications (IPC) The IPC allows communication between the two CPU subsystems (i.e. CPU1 and CPU2)....]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>



<ul style="margin-top:30px; margin-bottom:30px;">

<li style="margin-bottom:16px;">
<a href="#c28x_ipc" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Inter-Processor Communications (IPC)
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_ipc_ram" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x IPC Global Shared RAM
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_ipc_msg_ram" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x IPC Message RAM
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_ipc_msg_register" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x IPC Message Registers
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_ipc_interrupt" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x IPC Interrupts and Flags
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_ipc_data_transfer" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x IPC Data Transfer
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_ipc_summary" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x IPC Software Solutions Summary
</a>
</li> 


</ul>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_ipc" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Inter-Processor Communications (IPC)
</b>

<p>
The IPC allows communication between the two CPU subsystems (i.e. CPU1 and CPU2).

<ul>

<li> Message RAMs
</li>

<li> IPC flags and interrupts
</li>

<li> IPC command registers
</li>

<li> Flash pump semaphore
</li>

<li> Clock configuration semaphore
</li>

<li> Free-running counter
</li>


</ul>

All IPC features are independent of each other

</p>




</div>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_ipc_ram" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
IPC Global Shared RAM
</b>

<p>
There are up to 16 blocks of shared RAM on F2837xD devices. These shared RAM blocks are typically used by the application, but can also be used for transferring messages and data. Each block can individually be owned by either CPU1 or CPU2.
</p>

<p>
CPU1 core ownership: <br>
At reset, CPU1 owns all of the shared RAM blocks. In this configuration CPU1 core can freely use the memory blocks. CPU1 can read, write or execute from the block and CPU1.DMA can read or write. On the CPU2 core, CPU2 and CPU2.DMA can only read from these blocks. Blocks owned by the CPU1 core can be used by the CPU1 to send CPU2 messages. This is referred to as C1toC2.
</p>

<p>
CPU2 core ownership: <br>
After reset, the CPU1 application can assign ownership of blocks to the CPU2 subsystem. In this configuration, CPU2 core can freely use the blocks. CPU2 can read, write or execute from the block and the CPU2.DMA can read or write. CPU1 core, however can only read from the block. Blocks owned by CPU2 core can be used can be used to send messages from the CPU2 to CPU1. This is referred to as C2toC1.
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_ram-1024x770.png" alt="" class="wp-image-6776" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_ram-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_ram-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_ram-768x577.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_ram-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_ram.png 1443w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_ipc_msg_ram" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
IPC Message RAM
</b>

<p>
The F2837xD has two dedicated message RAM blocks. Each block is 1K words in length. Unlike the shared RAM blocks, these blocks provide communication in one direction only and cannot be reconfigured.
</p>

<p>
CPU1 to CPU2 C1toC2 message RAM: <br>
The first message RAM is the CPU1 to CPU2 or C1toC2. This block can be read or written to by the CPU1 and read by the CPU2. CPU1 can write a message to this block and then the CPU2 can read it.
</p>

<p>
CPU2 to CPU1 C2toC1 message RAM: <br>
The second message RAM is the CPU2 to CPU1 or C2toC1. This block can be read or written to by CPU2 and read by CPU1. This means CPU2 can write a message to this block and then CPU1 can read it. After the sending CPU writes a message it can inform the receiver CPU that it is available through an interrupt or flag.
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" width="1024" height="716" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_ram-1024x716.png" alt="" class="wp-image-6782" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_ram-1024x716.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_ram-300x210.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_ram-768x537.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_ram-850x594.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_ram.png 1217w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_ipc_msg_register" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
IPC Message Registers
</b>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" width="1024" height="743" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_register-1024x743.png" alt="" class="wp-image-6788" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_register-1024x743.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_register-300x218.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_register-768x557.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_register-850x617.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_register.png 1317w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_ipc_interrupt" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
IPC Interrupts and Flags
</b>

<p>
When the sending CPU wants to inform the receiver that a message is ready, it can make use of an interrupt or flag. There are identical IPC interrupt and flag resources on both CPU1 core and CPU2 core.
</p>

<p>
4 Interrupts: <br>
There are 4 interrupts that CPU1 can send to CPU2 (and vice-versa) through the Peripheral Interrupt Expansion (PIE) module. Each of the interrupts has a dedicated vector within the PIE, IPC0 &#8211; IPC3.
</p>

<p>
28 Flags: <br>
In addition, there are 28 flags available to each of the CPU cores. These flags can be used for messages that are not time critical or they can be used to send status back to originating processor. The flags and interrupts can be used however the application sees fit and are not tied to particular operation in hardware.
</p>

<p>
Registers: Set, Flag, Clear, Status and Acknowledge <br>
The registers to control the IPC interrupts and flags are 32-bits: <br>
<ul>
<li> Bits [3:0] = interrupt &#038; flag
</li>
<li> Bits [31:4] = flag only
</li>
</ul>
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="744" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_interrupt-1024x744.png" alt="" class="wp-image-6795" style="width:700px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_interrupt-1024x744.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_interrupt-300x218.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_interrupt-768x558.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_interrupt-850x618.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_interrupt.png 1282w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="708" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_flag-1024x708.png" alt="" class="wp-image-6797" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_flag-1024x708.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_flag-300x207.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_flag-768x531.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_flag-850x587.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_msg_flag.png 1443w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_ipc_data_transfer" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
IPC Data Transfer
</b>

<p>
The F2837xD IPC is very easy to use. At the most basic level, the application does not need any separate software drivers to communicate between processors. It can utilize the message RAM&#8217;s and shared RAM blocks to pass data between processors at a fixed address known to both processors. Then the sending processor can use the IPC flag registers merely to flag to the receiving processor that the data is ready. Once the receiving processor has grabbed the data, it will then acknowledge the corresponding IPC flag to indicate that it is ready for more messages.
</p>


<p>
As an example:
<ol>

<li> CPU1 would write a message to the CPU2 in C1toC2 MSG RAM.
</li>

<li> The CPU1 would write a 1 to the appropriate flag bit in the C1TOC2IPCSET register. This sets the C1TOC2IPCFLG, which also sets the C1TOC2IPCSTS register on CPU2, letting CPU2 know that a message is available.
</li>

<li> CPU2 sees that a bit in the C1TOC2IPCSTS register is set.
</li>

<li> CPU2 reads the message from the C1toC2 MSG RAM and then
</li>

<li> It writes a 1 to the same bit in the C1TOC2IPCACK register to acknowledge that it has received the message. This subsequently clears the flag bit in C1TOC2IPCFLG and C1TOC2IPCSTS.
</li>

<li> CPU1 can then send more messages using that particular flag bit.
</li>

</ol>
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_data_transfer-1024x770.png" alt="" class="wp-image-6807" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_data_transfer-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_data_transfer-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_data_transfer-768x577.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_data_transfer-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ipc_data_transfer.png 1443w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_ipc_summary" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
IPC Software Solutions Summary
</b>

<p>
There are three options to use the IPC on the device.
</p>

<p>
Basic option: A very simple option that does not require any drivers. This option only requires IPC registers to implement very simple flagging of messages passed between processors.
</p>

<p>
Driver options: If the application code needs a set of basic IPC driver functions for reading or writing data, setting/clearing bits, and function calls, then there are 2 IPC software driver solutions provided by TI.
</p>

<p>
IPC-Lite:
<ul>

<li> Only uses the IPC registers. No additional memory such as message RAM or shared RAM is needed.
</li>

<li> Only one IPC ISR can be used at a time.
</li>

<li> Can only process one message at a time.
</li>

<li> CPU1 can use IPC lite to communicate with the CPU2 boot ROM. The CPU2 boot ROM processes basic IPC read, write, bit manipulation, function call, and branch commands.
</li>

</ul>
</p>


<p>
Main IPC Software API Driver:
<ul>

<li> Utilizes circular buffers in C2toC1 and C1toC2 message RAM&#8217;s.
</li>

<li> Allows application to queue up to 4 messages prior to processing (configurable).
</li>

<li> Allows application to use multiple IPC ISR&#8217;s at a time.
</li>

<li> Requires additional setup in application code prior to use.
</li>

</ul>
</p>


</div>



<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6767</post-id>	</item>
		<item>
		<title>TI C2000: Communication &#8211; Multichannel Buffered Serial Port (McBSP)</title>
		<link>https://hangpersonal.com/2026/06/21/c2000-mcbsp/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Sun, 21 Jun 2026 17:54:56 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6747</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication TMS320F28x7x Multichannel Buffered Serial Port (McBSP) TMS320F28x7x McBSP Definition TMS320F28x7x Multi-Channel Selection TMS320F28x7x McBSP Summary Multichannel Buffered Serial Port (McBSP) The McBSP provides a high-speed direct interface to codecs, analog interface chips (AICs), and other serially connected A/D and D/A devices. It has double-buffered transmission and triple-buffered...]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>



<ul style="margin-top:30px; margin-bottom:30px;">

<li style="margin-bottom:16px;">
<a href="#c28x_msbsp" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Multichannel Buffered Serial Port (McBSP)
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_mcbsp_definition" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x McBSP Definition
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_mcbsp_selection" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Multi-Channel Selection
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_mcbsp_summary" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x McBSP Summary
</a>
</li> 

</ul>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_mcbsp" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Multichannel Buffered Serial Port (McBSP)
</b>

<p>
The McBSP provides a high-speed direct interface to codecs, analog interface chips (AICs), and other serially connected A/D and D/A devices. It has double-buffered transmission and triple-buffered reception for supporting continuous data streams. There are 128 channels for transmission and reception, and data size selections of 8, 12, 16, 20, 24, and 32 bits, along with µ-law and A-law companding.
</p>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="772" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_block-1024x772.png" alt="" class="wp-image-6752" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_block-1024x772.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_block-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_block-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_block-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_block.png 1286w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_mcbsp_definition" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Definition: Bit, Word, and Frame
</b>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="710" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_bit_word-1024x710.png" alt="" class="wp-image-6754" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_bit_word-1024x710.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_bit_word-300x208.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_bit_word-768x533.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_bit_word-850x590.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_bit_word.png 1286w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="610" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_word_frame-1024x610.png" alt="" class="wp-image-6755" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_word_frame-1024x610.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_word_frame-300x180.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_word_frame-768x457.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_word_frame-850x506.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_word_frame.png 1286w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_mcbsp_selection" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Multi-Channel Selection
</b>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="730" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_selection-1024x730.png" alt="" class="wp-image-6758" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_selection-1024x730.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_selection-300x214.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_selection-768x548.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_selection-850x606.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_mcbsp_selection.png 1286w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_mcbsp_summary" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
McBSP Summary
</b>

<ul>

<li> Independent clocking and framing for transmit and receive
</li>

<li> Internal or external clock and frame sync
</li>

<li> Data size of 8, 12, 16, 20, 24, or 32 bits
</li>

<li> TDM mode &#8211; up to 128 channels
<ul>
<li> Used for T1/E1 interfacing
</li>
</ul>
</li>

<li> µ-law and A-law companding
</li>

<li> SPI mode
</li>

<li> Direct Interface to many codecs
</li>

<li> Can be serviced by the DMA
</li>

</ul>

</div>



<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6747</post-id>	</item>
		<item>
		<title>TI C2000: Communication – Universal Serial Bus (USB)</title>
		<link>https://hangpersonal.com/2026/06/21/c2000-usb/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Sun, 21 Jun 2026 16:58:58 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6721</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Please also see this post about the USB communication protocol. TMS320F28x7x Universal Serial Bus (USB) Controller TMS320F28x7x USB Communication TMS320F28x7x Enumeration TMS320F28x7x USB Hardware TMS320F28x7x USB Summary Universal Serial Bus (USB) Controller The USB operates as a full-speed function controller during point-to-point communications with a USB host....]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>

<a href="https://hangpersonal.com/2026/01/14/usb/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
Please also see this post about the USB communication protocol.
</a>



<ul style="margin-top:30px; margin-bottom:30px;">

<li style="margin-bottom:16px;">
<a href="#c28x_usb" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Universal Serial Bus (USB) Controller
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_usb_communication" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x USB Communication
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_usb_enumeration" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Enumeration
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_usb_hardware" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x USB Hardware</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_usb_summary" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x USB Summary
</a>
</li> 

</ul>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_usb" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Universal Serial Bus (USB) Controller
</b>

<p>
The USB operates as a full-speed function controller during point-to-point communications with a USB host. It complies with the USB 2.0 standard, and a dynamically sizeable FIFO supports queuing of multiple packets.
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb-1024x770.png" alt="" class="wp-image-6726" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb.png 1287w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="772" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb2-1024x772.png" alt="" class="wp-image-6728" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb2-1024x772.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb2-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb2-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb2-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb2.png 1286w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_usb_communication" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
USB Communication
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="742" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_communication-1024x742.png" alt="" class="wp-image-6733" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_communication-1024x742.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_communication-300x217.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_communication-768x557.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_communication-850x616.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_communication.png 1286w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_usb_enumeration" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Enumeration
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="717" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_enumeration-1024x717.png" alt="" class="wp-image-6737" style="width:700px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_enumeration-1024x717.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_enumeration-300x210.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_enumeration-768x537.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_enumeration-850x595.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_enumeration.png 1219w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_usb_hardware" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
USB Hardware
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_hardware-1024x770.png" alt="" class="wp-image-6740" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_hardware-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_hardware-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_hardware-768x577.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_hardware-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_usb_hardware.png 1443w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_usb_summary" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
CAN Summary
</b>

<ul>

<li> Complies with USB 2.0 specifications
</li>

<li> Full-speed (12 Mbps) Device controller
</li>

<li> Full- /Low-speed (12 Mbps/1.5 Mbps) Host controller
</li>

<li> The DMA controller may be used to read and write the USB FIFOs via software triggering
</li>

<li> Full software library with application examples is provided within C2000Ware
</li>

</ul>

</div>



<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6721</post-id>	</item>
		<item>
		<title>TI C2000: Communication &#8211; Controller Area Network (CAN)</title>
		<link>https://hangpersonal.com/2026/06/21/c2000-can/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Sun, 21 Jun 2026 15:57:53 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6678</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Please also see this post about the CAN communication protocol. TMS320F28x7x Controller Area Network (CAN) TMS320F28x7x CAN Bus and Node TMS320F28x7x Principles of Operation TMS320F28x7x Message Format and Block Diagram TMS320F28x7x CAN Summary Controller Area Network (CAN) The CAN module is a serial communications protocol that efficiently...]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>

<a href="https://hangpersonal.com/2026/01/10/can/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
Please also see this post about the CAN communication protocol.
</a>



<ul style="margin-top:30px; margin-bottom:30px;">

<li style="margin-bottom:16px;">
<a href="#c28x_can" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Controller Area Network (CAN)
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_can_node" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x CAN Bus and Node
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_can_operation" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Principles of Operation
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_can_message_format" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Message Format and Block Diagram
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_can_summary" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x CAN Summary
</a>
</li> 

</ul>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_can" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Controller Area Network (CAN)
</b>

<p>
The CAN module is a serial communications protocol that efficiently supports distributed real-time control with a high level of security. It supports bit-rates up to 1 Mbit/s and is compliant with the CAN 2.0B protocol specification.
</p>

<p>
CAN does not use physical addresses to address stations. Each message is sent with an identifier that is recognized by the different nodes. The identifier has two functions – it is used for message filtering and for message priority. The identifier determines if a transmitted message will be received by CAN modules and determines the priority of the message when two or more nodes want to transmit at the same time.
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="926" height="782" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can.png" alt="" class="wp-image-6685" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can.png 926w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can-300x253.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can-768x649.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can-850x718.png 850w" sizes="auto, (max-width: 926px) 100vw, 926px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_can_node" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
CAN Bus and Node
</b>

<p>
The MCU communicates to the CAN Bus using a transceiver. The CAN bus is a twisted pair wire and the transmission rate depends on the bus length. If the bus is less than 40 meters the
transmission rate is capable up to 1 Mbit/second.
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1002" height="721" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_bus.png" alt="" class="wp-image-6688" style="width:700px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_bus.png 1002w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_bus-300x216.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_bus-768x553.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_bus-850x612.png 850w" sizes="auto, (max-width: 1002px) 100vw, 1002px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="722" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_node-1024x722.png" alt="" class="wp-image-6690" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_node-1024x722.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_node-300x212.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_node-768x542.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_node-850x599.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_node.png 1058w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_can_operation" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Principles of Operation
</b>

<p>
<ul>

<li> Data messages transmitted are identifier based, not address based
</li>

<li> Content of message is labeled by an identifier that is unique throughout the network
<ul>
<li> (e.g. rpm, temperature, position, pressure, etc.)
</li>
</ul>
</li>

<li> All nodes on network receive the message and each performs an acceptance test on the identifier
</li>

<li> If message is relevant, it is processed (received); otherwise it is ignored
</li>

<li> Unique identifier also determines the priority of the message
<ul>
<li> (lower the numerical value of the identifier, the higher the priority)
</li>
</ul>
</li>

<li> When two or more nodes attempt to transmit at the same time, a non-destructive arbitration technique guarantees messages are sent in order of priority and no messages are lost
</li>


</ul>
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="723" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_arbitration-1024x723.png" alt="" class="wp-image-6700" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_arbitration-1024x723.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_arbitration-300x212.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_arbitration-768x543.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_arbitration-850x601.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_arbitration.png 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_can_message_format" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Message Format and Block Diagram
</b>

<p>
The MCU CAN module is a full CAN Controller. It contains a message handler for transmission and reception management, and frame storage. The specification is CAN 2.0B Active – that is, the module can send and accept standard (11-bit identifier) and extended frames (29-bit identifier).
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="772" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_message_format-1024x772.png" alt="" class="wp-image-6705" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_message_format-1024x772.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_message_format-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_message_format-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_message_format-850x641.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_message_format.png 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_block_diagram-1024x771.png" alt="" class="wp-image-6706" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_block_diagram-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_block_diagram-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_block_diagram-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_block_diagram-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_can_block_diagram.png 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<p>
The CAN controller module contains 32 mailboxes for objects of 0 to 8-byte data lengths:

<ul>

<li> configurable transmit/receive mailboxes
</li>

<li> configurable with standard or extended indentifier
</li>

</ul>
</p>


<p>

The CAN module mailboxes are divided into several parts:

<ul>

<li> MID &#8211; contains the identifier of the mailbox
</li>

<li> MCF (Message Control Field) &#8211; contains the length of the message (to transmit or receive) and the RTR bit (Remote Transmission Request &#8211; used to send remote frames)
</li>

<li> MDL and MDH &#8211; contains the data
</li>

</ul>

</p>


<p>

The CAN module contains registers which are divided into five groups:

<ul>

<li> Control &#038; Status Registers
</li>

<li> Local Acceptance Masks
</li>

<li> Message Object Time Stamps
</li>

<li> Message Object Timeout
</li>

<li> Mailboxes
</li>

</ul>

</p>




</div>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_can_summary" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
CAN Summary
</b>

<ul>

<li> Fully compliant with CAN standard v2.0B
</li>

<li> Supports data rates up to 1 Mbps
</li>

<li> Thirty-two message objects

<ul>

<li> Configurable as receive or transmit
</li>

<li> Configurable with standard or extended identifier
</li>

<li> Programmable receive mask
</li>

<li> Uses 32-bit time stamp on messages
</li>

<li> Programmable interrupt scheme (two levels)
</li>

<li> Programmable alarm time-out
</li>

</ul>

</li>

<li> Programmable wake-up on bus activity
</li>

<li> Two interrupt lines
</li>

<li> Self-test mode
</li>

</ul>

</div>



<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6678</post-id>	</item>
		<item>
		<title>TI C2000: Communication &#8211; Inter-Integrated Circuit (I2C)</title>
		<link>https://hangpersonal.com/2026/06/14/c2000-i2c/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 18:04:35 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6594</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Please also see this post about the I2C communication protocol. TMS320F28x7x Inter-Integrated Circuit (I2C) TMS320F28x7x I2C Operating Modes and Data Formats TMS320F28x7x I2C Summary Inter-Integrated Circuit (I2C) The I2C provides an interface between devices that are compliant I2C-bus specification version 2.1 and connect using an I2C-bus. External...]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>

<a href="https://hangpersonal.com/2026/01/05/i2c/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
Please also see this post about the I2C communication protocol.
</a>



<ul style="margin-top:30px; margin-bottom:30px;">

<li style="margin-bottom:16px;">
<a href="#c28x_i2c" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Inter-Integrated Circuit (I2C)
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_i2c_mode" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x I2C Operating Modes and Data Formats
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_i2c_summary" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x I2C Summary</a>
</li> 

</ul>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_i2c" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Inter-Integrated Circuit (I2C)
</b>

<p>
The I2C provides an interface between devices that are compliant I2C-bus specification version 2.1 and connect using an I2C-bus. External components attached to the 2-wire serial bus can transmit or receive 1 to 8-bit data to or from the device through the I2C module.
</p>


</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="772" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c-1024x772.png" alt="" class="wp-image-6599" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c-1024x772.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c-850x641.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c.png 1170w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="784" height="740" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_block_diagram.png" alt="" class="wp-image-6601" style="width:500px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_block_diagram.png 784w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_block_diagram-300x283.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_block_diagram-768x725.png 768w" sizes="auto, (max-width: 784px) 100vw, 784px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_i2c_mode" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
I2C Operating Modes and Data Formats
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_operating_modes-1024x771.png" alt="" class="wp-image-6604" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_operating_modes-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_operating_modes-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_operating_modes-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_operating_modes-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_operating_modes.png 1170w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_serial_data_formats-1024x771.png" alt="" class="wp-image-6606" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_serial_data_formats-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_serial_data_formats-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_serial_data_formats-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_serial_data_formats-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_serial_data_formats.png 1170w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_arbitration-1024x771.png" alt="" class="wp-image-6608" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_arbitration-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_arbitration-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_arbitration-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_arbitration-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_i2c_arbitration.png 1170w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_i2c_summary" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
I2C Summary
</b>

<ul>

<li> Compliance with Philips I2C-bus specification (version 2.1)
</li>

<li> 7-bit and 10-bit addressing modes
</li>

<li> Configurable 1 to 8 bit data words
</li>

<li> Data transfer rate from 10 kbps up to 400 kbps
</li>

<li> Transmit FIFO and receive FIFO
</li>

</ul>


</div>



<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6594</post-id>	</item>
		<item>
		<title>TI C2000: Communication – Serial Peripheral Interface (SPI)</title>
		<link>https://hangpersonal.com/2026/06/14/c2000-spi/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 07:22:52 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6576</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Please also see this post about the SPI communication protocol. TMS320F28x7x Serial Peripheral Interface (SPI) TMS320F28x7x SPI Transmit / Receive Sequence TMS320F28x7x SPI Summary Serial Peripheral Interface (SPI) The SPI is a high-speed synchronous serial port that shifts a programmable length serial bit stream into and out...]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>


<a href="https://hangpersonal.com/2026/01/08/spi/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
Please also see this post about the SPI communication protocol.
</a>



<ul style="margin-top:30px; margin-bottom:30px;">

<li style="margin-bottom:16px;">
<a href="#c28x_spi" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Serial Peripheral Interface (SPI)
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_spi_trans_rece_seq" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x SPI Transmit / Receive Sequence</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_spi_summary" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x SPI Summary</a>
</li> 

</ul>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_spi" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Serial Peripheral Interface (SPI)
</b>

<p>
The SPI is a high-speed synchronous serial port that shifts a programmable length serial bit stream into and out of the device at a programmable bit-transfer rate. It is typically used for communications between processors and external peripherals, and it has a 16-level deep receive and transmit FIFO for reducing servicing overhead. During data transfers, one SPI device must be configured as the transfer MASTER, and all other devices configured as SLAVES. The master drives the transfer clock signal for all SLAVES on the bus. SPI communications can be implemented in any of three different modes:

</p><ul>

<li>MASTER sends data, SLAVES send dummy data
</li>

<li>MASTER sends data, one SLAVE sends data
</li>

<li>MASTER sends dummy data, one SLAVE sends data
</li>

</ul>

<p></p>


<p>
In its simplest form, the SPI can be thought of as a programmable shift register. Data is shifted in and out of the SPI through the SPIDAT register. Data to be transmitted is written directly to the SPIDAT register, and received data is latched into the SPIBUF register for reading by the CPU. This allows for double-buffered receive operation, in that the CPU need not read the current received data from SPIBUF before a new receive operation can be started. However, the CPU must read SPIBUF before the new operation is complete of a receiver overrun error will occur. In addition, double-buffered transmit is not supported: the current transmission must be complete before the next data character is written to SPIDAT or the current transmission will be corrupted.
</p>


<p>
The Master can initiate a data transfer at any time because it controls the SPICLK signal. The software, however, determines how the Master detects when the Slave is ready to broadcast.
</p>



</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="683" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_flow-1024x683.png" alt="" class="wp-image-6581" style="width:700px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_flow-1024x683.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_flow-300x200.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_flow-768x512.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_flow-850x567.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_flow.png 1076w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:40px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_block_diagram-1024x771.png" alt="" class="wp-image-6582" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_block_diagram-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_block_diagram-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_block_diagram-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_block_diagram-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_block_diagram.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_spi_trans_rece_seq" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
SPI Transmit / Receive Sequence
</b>

<ol>
  <li>Slave writes data to be sent to its shift register (SPIDAT).</li>

  <li>Master writes data to be sent to its shift register (SPIDAT or SPITXBUF).</li>

  <li>Completing Step 2 automatically starts the SPICLK signal of the Master.</li>

  <li>The MSB of the Master’s shift register (SPIDAT) is shifted out, and the LSB of the Slave’s shift register (SPIDAT) is loaded.</li>

  <li>Step 4 is repeated until the specified number of bits are transmitted.</li>

  <li>The SPIDAT register is copied to the SPIRXBUF register.</li>

  <li>The SPI INT Flag bit is set to 1.</li>

  <li>An interrupt is asserted if the SPI INT ENA bit is set to 1.</li>

  <li>If data is in SPITXBUF, either Slave or Master, it is loaded into SPIDAT and transmission starts again as soon as the Master’s SPIDAT is loaded.</li>
</ol>

<p>
Since data is shifted out of the SPIDAT register MSB first, transmission characters of less than 16 bits must be left-justified by the CPU software prior to be written to SPIDAT.
</p>

<p>
Received data is shifted into SPIDAT from the left, MSB first. However, the entire sixteen bits of SPIDAT is copied into SPIBUF after the character transmission is complete such that received characters of less than 16 bits will be right-justified in SPIBUF. The non-utilized higher significance bits must be masked-off by the CPU software when it interprets the character. For example, a 9 bit character transmission would require masking-off the 7 MSB’s.
</p>




</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="688" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_character_justification-1024x688.png" alt="" class="wp-image-6589" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_character_justification-1024x688.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_character_justification-300x202.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_character_justification-768x516.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_character_justification-850x571.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_spi_data_character_justification.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_spi_summary" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
SPI Summary
</b>

<ul>

<li> Synchronous serial communications
<ul>
<li> Two wire transmit or receive (half duplex)
</li>
<li> Three wire transmit and receive (full duplex)
</li>
</ul>
</li>

<li> Software configurable as master or slave
<ul>
<li> C28x provides clock signal in master mode
</li>
</ul>
</li>

<li> Data length programmable from 1-16 bits
</li>

<li> 125 different programmable baud rates
</li>

</ul>


</div>



<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6576</post-id>	</item>
		<item>
		<title>TI C2000: Communication &#8211; Serial Communication Interface (SCI)</title>
		<link>https://hangpersonal.com/2026/06/13/c2000-sci/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 04:04:26 +0000</pubDate>
				<category><![CDATA[Embedded System]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6546</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Please also see this post about the SCI/UART communication protocol. TMS320F28x7x Serial Communications Interface (SCI) TMS320F28x7x SCI Multiprocessor Wake-Up Modes TMS320F28x7x SCI Summary Serial Communications Interface (SCI) The SCI is a two-wire asynchronous serial port (also known as a UART) that supports communications between the processor and...]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>

<a href="https://hangpersonal.com/2026/01/02/uart/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
Please also see this post about the SCI/UART communication protocol.
</a>



<ul style="margin-top:30px; margin-bottom:30px;">

<li style="margin-bottom:16px;">
<a href="#c28x_sci" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x Serial Communications Interface (SCI)</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_sci_wakeup" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x SCI Multiprocessor Wake-Up Modes
</a>
</li> 

<li style="margin-bottom:16px;">
<a href="#c28_sci_summary" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TMS320F28x7x SCI Summary</a>
</li> 

</ul>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_sci" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Serial Communications Interface (SCI)</b>

<p>
The SCI is a two-wire asynchronous serial port (also known as a UART) that supports communications between the processor and other asynchronous peripherals that use the standard non-return-to-zero (NRZ) format. A receiver and transmitter 16-level deep FIFO is used to reduce servicing overhead. The SCI transmit and receive registers are both double-buffered to prevent data collisions and allow for efficient CPU usage. In addition, the C28x SCI is a full duplex interface which provides for simultaneous data transmit and receive. Parity checking and
data formatting is also designed to be done by the port hardware, further reducing software
overhead.</p>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_pin_connections-1024x770.png" alt="" class="wp-image-6551" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_pin_connections-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_pin_connections-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_pin_connections-768x577.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_pin_connections-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_pin_connections.png 1201w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<p>
The basic unit of data is called a character and is 1 to 8 bits in length. Each character of data is formatted with a start bit, 1 or 2 stop bits, an optional parity bit, and an optional address/data bit. A character of data along with its formatting bits is called a frame. Frames are organized into groups called blocks. If more than two serial ports exist on the SCI bus, a block of data will usually begin with an address frame which specifies the destination port of the data as determined by the user’s protocol.</p>

<p>
The start bit is a low bit at the beginning of each frame which marks the beginning of a frame. The SCI uses a NRZ (Non-Return-to-Zero) format which means that in an inactive state the SCIRX and SCITX lines will be held high. Peripherals are expected to pull the SCIRX and SCITX lines to a high level when they are not receiving or transmitting on their respective lines.
</p>

<p>
When configuring the SCICCR, the SCI port should first be held in an inactive state. This is done using the SW RESET bit of the SCI Control Register 1 (SCICTL1.5). Writing a 0 to this bit initializes and holds the SCI state machines and operating flags at their reset condition. The SCICCR can then be configured. Afterwards, re-enable the SCI port by writing a 1 to the SW RESET bit. At system reset, the SW RESET bit equals 0.
</p>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_data_timing-1024x771.png" alt="" class="wp-image-6558" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_data_timing-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_data_timing-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_data_timing-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_data_timing-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_data_timing.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_sci_wakeup" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Multiprocessor Wake-Up Modes
</b>

<ul>

<li>
Allows numerous processors to be hooked up to the bus, but transmission occurs between only two of them
</li>

<li> Idle-line or Address-bit modes
</li>

<li>
Sequence of Operation

<ul>

<li>
Potential receivers set SLEEP = 1, which disables RXINT except when an address frame is received
</li>

<li> 
All transmissions begin with an address frame
</li>

<li> 
Incoming address frame temporarily wakes up all SCIs on bus
</li>

<li> 
CPUs compare incoming SCI address to their SCI address
</li>

<li> 
Process following data frames only if address matches
</li>

</ul>

</li>



</ul>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="726" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_idle_line_wake_up_mode-1024x726.png" alt="" class="wp-image-6566" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_idle_line_wake_up_mode-1024x726.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_idle_line_wake_up_mode-300x213.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_idle_line_wake_up_mode-768x545.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_idle_line_wake_up_mode-850x603.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_idle_line_wake_up_mode.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="660" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_address_bit_wake_up_mode-1024x660.png" alt="" class="wp-image-6568" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_address_bit_wake_up_mode-1024x660.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_address_bit_wake_up_mode-300x194.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_address_bit_wake_up_mode-768x495.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_address_bit_wake_up_mode-850x548.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_sci_address_bit_wake_up_mode.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<p>
The SCI interrupt logic generates interrupt flags when it receives or transmits a complete character as determined by the SCI character length. This provides a convenient and efficient way of timing and controlling the operation of the SCI transmitter and receiver. The interrupt flag for the transmitter is TXRDY (SCICTL2.7), and for the receiver RXRDY (SCIRXST.6). TXRDY is set when a character is transferred to TXSHF and SCITXBUF is ready to receive the next character. In addition, when both the SCIBUF and TXSHF registers are empty, the TX EMPTY flag (SCICTL2.6) is set. When a new character has been received and shifted into SCIRXBUF, the RXRDY flag is set. In addition, the BRKDT flag is set if a break condition occurs. A break condition is where the SCIRXD line remains continuously low for at least ten bits, beginning after a missing stop bit. Each of the above flags can be polled by the CPU to control SCI operations, or interrupts associated with the flags can be enabled by setting the RX/BK INT ENA (SCICTL2.1) and/or the TX INT ENA (SCICTL2.0) bits active high.
</p>

<p>
Additional flag and interrupt capability exists for other receiver errors. The RX ERROR flag is the logical OR of the break detect (BRKDT), framing error (FE), receiver overrun (OE), and parity error (PE) bits. RX ERROR high indicates that at least one of these four errors has occurred during transmission. This will also send an interrupt request to the CPU if the RX ERR INT ENA (SCICTL1.6) bit is set.
</p>

</div>



<div class="article-text" style="margin-top:50px; margin-bottom:40px;">

<b id="c28_sci_summary" style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
SCI Summary
</b>

<ul>

<li> Asynchronous communications format
</li>

<li> 65,000+ different programmable baud rates
</li>

<li> Two wake-up multiprocessor modes
<ul>
<li> Idle-line wake-up &#038; Address-bit wake-up
</li>
</ul>
</li>

<li> Programmable data word format
<ul>

<li> 1 to 8 bit data word length
</li>

<li> 1 or 2 stop bits
</li>

<li> even/odd/no parity
</li>

</ul>
</li>


<li> Error Detection Flags
<ul>
<li> Parity error; Framing error; Overrun error; Break detection
</li>
</ul>
</li>

<li> Transmit FIFO and receive FIFO
</li>

<li> Individual interrupts for transmit and receive
</li>

</ul>


</div>



<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6546</post-id>	</item>
		<item>
		<title>TI C2000: Control – enhanced Quadrature Encoder Pulse Module (eQEP)</title>
		<link>https://hangpersonal.com/2026/06/07/c2000-eqep/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 04:18:29 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6533</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Quadrature Encoder Pulse Module (eQEP) Reference [1] TMS320F2837xD Microcontroller Workshop Back to top of the page]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>



<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
Quadrature Encoder Pulse Module (eQEP)
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep-1024x770.png" alt="" class="wp-image-6538" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_quadrature_signals-1024x770.png" alt="" class="wp-image-6540" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_quadrature_signals-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_quadrature_signals-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_quadrature_signals-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_quadrature_signals-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_quadrature_signals.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_block_diagram-1024x770.png" alt="" class="wp-image-6541" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_block_diagram-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_block_diagram-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_block_diagram-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_block_diagram-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_block_diagram.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_module_connections-1024x770.png" alt="" class="wp-image-6542" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_module_connections-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_module_connections-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_module_connections-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_module_connections-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_eqep_module_connections.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6533</post-id>	</item>
		<item>
		<title>TI C2000: Control – enhanced Capture (eCAP)</title>
		<link>https://hangpersonal.com/2026/06/07/c2000-ecap/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 04:06:28 +0000</pubDate>
				<category><![CDATA[Embedded System]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6522</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Capture Module (eCAP) Reference [1] TMS320F2837xD Microcontroller Workshop Back to top of the page]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>



<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
Capture Module (eCAP)
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap-1024x770.png" alt="" class="wp-image-6526" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap-300x225.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap-768x577.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_capture_mode-1024x771.png" alt="" class="wp-image-6527" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_capture_mode-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_capture_mode-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_capture_mode-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_capture_mode-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_capture_mode.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_apwm_mode-1024x771.png" alt="" class="wp-image-6528" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_apwm_mode-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_apwm_mode-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_apwm_mode-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_apwm_mode-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_ecap_block_diagram_apwm_mode.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6522</post-id>	</item>
		<item>
		<title>TI C2000: Control – enhanced Pulse Width Modulation (ePWM)</title>
		<link>https://hangpersonal.com/2026/06/03/c2000-epwm/</link>
		
		<dc:creator><![CDATA[hangcui1201]]></dc:creator>
		<pubDate>Wed, 03 Jun 2026 16:18:31 +0000</pubDate>
				<category><![CDATA[Embedded System]]></category>
		<guid isPermaLink="false">https://hangpersonal.com/?p=6454</guid>

					<description><![CDATA[TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication ePWM Module Signals and Connections ePWM Block Diagram ePWM Time-Base Sub-Module ePWM Compare Sub-Module ePWM Action Qualifier Sub-Module ePWM Dead-Band Sub-Module ePWM Chopper Sub-Module Purpose of the PWM Chopper Allows a high frequency carrier signal to modulate the PWM waveform generated by the Action Qualifier and Dead-Band...]]></description>
										<content:encoded><![CDATA[
<a href="https://hangpersonal.com/embedded-system/ti-mcu/c2000-tutorials/" style="font-family: 'Inter', sans-serif; font-size: 22px; color: blue;">
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication
</a>
<br><br>



<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Module Signals and Connections
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_signals_connections-1024x771.png" alt="" class="wp-image-6463" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_signals_connections-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_signals_connections-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_signals_connections-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_signals_connections-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_signals_connections.png 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Block Diagram
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_block_diagram-1024x771.png" alt="" class="wp-image-6467" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_block_diagram-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_block_diagram-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_block_diagram-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_block_diagram-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_block_diagram.png 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Time-Base Sub-Module
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_time_base_count_modes-1024x770.png" alt="" class="wp-image-6469" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_time_base_count_modes-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_time_base_count_modes-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_time_base_count_modes-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_time_base_count_modes-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_time_base_count_modes.png 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_phase_sync-1024x771.png" alt="" class="wp-image-6471" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_phase_sync-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_phase_sync-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_phase_sync-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_phase_sync-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_phase_sync.png 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Compare Sub-Module
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_compare_event_waveforms-1024x771.png" alt="" class="wp-image-6474" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_compare_event_waveforms-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_compare_event_waveforms-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_compare_event_waveforms-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_compare_event_waveforms-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_compare_event_waveforms.png 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Action Qualifier Sub-Module
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="772" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_action_qualifier_actions-1024x772.png" alt="" class="wp-image-6476" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_action_qualifier_actions-1024x772.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_action_qualifier_actions-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_action_qualifier_actions-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_action_qualifier_actions-850x641.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_action_qualifier_actions.png 1274w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_1-1024x770.png" alt="" class="wp-image-6478" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_1-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_1-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_1-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_1-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_1.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_2-1024x770.png" alt="" class="wp-image-6480" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_2-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_2-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_2-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_2-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_asymmetric_waveform_2.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_1-1024x771.png" alt="" class="wp-image-6482" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_1-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_1-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_1-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_1-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_1.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_2-1024x771.png" alt="" class="wp-image-6484" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_2-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_2-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_2-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_2-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_count_up_down_symmetric_waveform_2.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Dead-Band Sub-Module
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_sub_module-1024x770.png" alt="" class="wp-image-6487" style="width:700px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_sub_module-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_sub_module-300x225.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_sub_module-768x577.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_sub_module-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_sub_module.png 1308w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="772" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_block_diagram-1024x772.png" alt="" class="wp-image-6490" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_block_diagram-1024x772.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_block_diagram-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_block_diagram-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_block_diagram-850x641.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_dead_band_block_diagram.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
ePWM Chopper Sub-Module
</b>

<b style="color: black;">Purpose of the PWM Chopper</b>
<br>

<ul>

<li>
Allows a high frequency carrier signal to modulate the PWM waveform generated by the Action Qualifier and Dead-Band modules
</li>

<li>
Used with pulse transformer-based gate drivers to control power switching elements
</li>

</ul>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="772" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_chopper_waveform-1024x772.png" alt="" class="wp-image-6493" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_chopper_waveform-1024x772.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_chopper_waveform-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_chopper_waveform-768x579.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_chopper_waveform-850x641.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_chopper_waveform.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Trip-Zone and Digital Compare Sub-Module
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_digital_compare_inputs-1024x770.png" alt="" class="wp-image-6501" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_digital_compare_inputs-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_digital_compare_inputs-300x225.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_digital_compare_inputs-768x577.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_digital_compare_inputs-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_digital_compare_inputs.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar-1024x770.png" alt="" class="wp-image-6503" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar_architecture-1024x770.png" alt="" class="wp-image-6505" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar_architecture-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar_architecture-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar_architecture-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar_architecture-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_x_bar_architecture.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_features-1024x770.png" alt="" class="wp-image-6506" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_features-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_features-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_features-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_features-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_trip_zone_features.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:60px; margin-bottom:50px;">

<b style="color: black;">
Purpose of the Digital Compare Sub-Module
</b>
<br>

<ul>

<li>
Generates compare events that can:

<ul>

<li> Trip the ePWM
</li>

<li> Generate a Trip interrupt
</li>

<li> Sync the ePWM
</li>

<li> Generate an ADC start of conversion
</li>

</ul>

</li>

<li>
Digital compare module inputs are:

<ul>

<li> Input X-Bar
</li>

<li> ePWM X-Bar
</li>

<li> Trip-zone input pins
</li>

</ul>

</li>

<li> A compare event is generated when one or more of its selected inputs are either high or low
</li>

<li> Optional Blanking can be used to temporarily disable the compare action in alignment with PWM switching to eliminate noise effects
</li>




</ul>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_sub_module_signals-1024x770.png" alt="" class="wp-image-6511" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_sub_module_signals-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_sub_module_signals-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_sub_module_signals-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_sub_module_signals-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_sub_module_signals.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:30px; margin-bottom:30px;">
</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_events-1024x771.png" alt="" class="wp-image-6513" style="width:700px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_events-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_events-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_events-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_events-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_digital_compare_events.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
ePWM Event-Trigger Sub-Module
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="771" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_event_trigger_interrupts_soc-1024x771.png" alt="" class="wp-image-6517" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_event_trigger_interrupts_soc-1024x771.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_event_trigger_interrupts_soc-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_event_trigger_interrupts_soc-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_event_trigger_interrupts_soc-850x640.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_event_trigger_interrupts_soc.png 1443w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:50px; margin-bottom:30px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:0px;">
Hi-Resolution PWM (HRPWM)
</b>

</div>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="770" src="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_hrpwm-1024x770.png" alt="" class="wp-image-6519" style="width:800px" srcset="https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_hrpwm-1024x770.png 1024w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_hrpwm-300x226.png 300w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_hrpwm-768x578.png 768w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_hrpwm-850x639.png 850w, https://hangpersonal.com/wp-content/uploads/2026/06/c28_epwm_hrpwm.png 1457w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<div class="article-text" style="margin-top:60px; margin-bottom:40px;">

<b style="display:block;
          font-family: 'Inter', sans-serif; 
          font-size: 22px; 
          color: black; 
          margin-top:0px; 
          margin-bottom:20px;">
Reference
</b>

<p>
[1] <a href="https://www.ti.com/video/series/c2000-f2837xd-microcontroller-one-day-workshop-series.html" style="color: blue;">
TMS320F2837xD Microcontroller Workshop</a>
</p>

</div>



<br><br>
<a href="#top" style="font-size:20px; color: blue;">Back to top of the page</a>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6454</post-id>	</item>
	</channel>
</rss>
