<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LPC MicrocontrollersのトピックStill reading but looking for clarification on AHB</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537287#M11417</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by tvink on Thu Jan 29 08:55:41 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Posting this will help me sort this stuff out in my own understanding... and hopefully may pull in some useful responses.&amp;nbsp; ...or corrections.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I am reading correctly...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The AHB matrix has no programmable features.&amp;nbsp; It simply is a hardware means of connecting 9 masters to 9 direct slaves and a bunch of bridged slaves.&amp;nbsp; It gives priority to the LCD master and then the system bus followed by the instruction/data buses and then the rest.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-- What stuff goes on the system bus?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The bridges also do not have a programmable interface.&amp;nbsp; They simply move data between resources and the AHB bus using a hardware determined priority scheme.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Code written for the MCU does not need to be aware of the AHB... except for perhaps some provisions dealing with the fixed priority ordering which would matter when a 2nd master may be vying for a resource.&amp;nbsp; If contention occurs when accessing a resource there may be a stall in the MCU pipeline while higher priority masters are connected to the resource.&amp;nbsp; Software written so that this is not statistically likely will be fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On each bridged segment, if there is no DMA accessing the attached resources, the bridge has no impact in performance.&amp;nbsp; In this case the MCU is the only master accessing the resources and can only access one resource at a time anyway.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-- Do each of the masters have their own internal DMA controller?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; The GPDMA is used to move data between slaves like SPI with SRAM, UART with SRAM, etc.&amp;nbsp;&amp;nbsp; ...or even UART to DAC.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After writing all that I am not really sure what bridges are doing anyway.&amp;nbsp; Here is my guess.&amp;nbsp; The AHB matrix is multilevel so multiple transactions can occur simultaneously.&amp;nbsp; Multiple masters may be accessing slave resources at the same time.&amp;nbsp; As long as they do not try to access the same resource at the same time, there will be no contention.&amp;nbsp;&amp;nbsp; However each bridged segment can support only one transaction at a time.&amp;nbsp; So if the MCU wants to access USART2 at the same time that the GPDMA wants to access USART3 there will be a stall for the lower priority master.&amp;nbsp; yes?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-- What is local SRAM and AHB SRAM.&amp;nbsp; I would guess that the LOCAL one is not on the AHB matrix.&amp;nbsp; But both are shown as a slave in the MCU block diagram.&amp;nbsp; I would have expected the local SRAM to be inside the MCU box.&amp;nbsp; Do I have that right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance for any helpful illumination....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:22:48 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:22:48Z</dc:date>
    <item>
      <title>Still reading but looking for clarification on AHB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537287#M11417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by tvink on Thu Jan 29 08:55:41 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Posting this will help me sort this stuff out in my own understanding... and hopefully may pull in some useful responses.&amp;nbsp; ...or corrections.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I am reading correctly...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The AHB matrix has no programmable features.&amp;nbsp; It simply is a hardware means of connecting 9 masters to 9 direct slaves and a bunch of bridged slaves.&amp;nbsp; It gives priority to the LCD master and then the system bus followed by the instruction/data buses and then the rest.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-- What stuff goes on the system bus?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The bridges also do not have a programmable interface.&amp;nbsp; They simply move data between resources and the AHB bus using a hardware determined priority scheme.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Code written for the MCU does not need to be aware of the AHB... except for perhaps some provisions dealing with the fixed priority ordering which would matter when a 2nd master may be vying for a resource.&amp;nbsp; If contention occurs when accessing a resource there may be a stall in the MCU pipeline while higher priority masters are connected to the resource.&amp;nbsp; Software written so that this is not statistically likely will be fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On each bridged segment, if there is no DMA accessing the attached resources, the bridge has no impact in performance.&amp;nbsp; In this case the MCU is the only master accessing the resources and can only access one resource at a time anyway.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-- Do each of the masters have their own internal DMA controller?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; The GPDMA is used to move data between slaves like SPI with SRAM, UART with SRAM, etc.&amp;nbsp;&amp;nbsp; ...or even UART to DAC.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After writing all that I am not really sure what bridges are doing anyway.&amp;nbsp; Here is my guess.&amp;nbsp; The AHB matrix is multilevel so multiple transactions can occur simultaneously.&amp;nbsp; Multiple masters may be accessing slave resources at the same time.&amp;nbsp; As long as they do not try to access the same resource at the same time, there will be no contention.&amp;nbsp;&amp;nbsp; However each bridged segment can support only one transaction at a time.&amp;nbsp; So if the MCU wants to access USART2 at the same time that the GPDMA wants to access USART3 there will be a stall for the lower priority master.&amp;nbsp; yes?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-- What is local SRAM and AHB SRAM.&amp;nbsp; I would guess that the LOCAL one is not on the AHB matrix.&amp;nbsp; But both are shown as a slave in the MCU block diagram.&amp;nbsp; I would have expected the local SRAM to be inside the MCU box.&amp;nbsp; Do I have that right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance for any helpful illumination....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:22:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537287#M11417</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:22:48Z</dc:date>
    </item>
    <item>
      <title>Re: Still reading but looking for clarification on AHB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537288#M11418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Thu Jan 29 09:59:58 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: tvink&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;The AHB matrix [...] gives priority to the LCD master and then the system bus followed by the instruction/data buses and then the rest.&amp;nbsp; &lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where did you read that? My UM10470 says in 2.6 AHB multilayer matrix configuration: "a round robin arbitration scheme is used".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On LPC17 priority is configurable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: tvink&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;-- What stuff goes on the system bus?&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Most accesses from 0x20000000 and up (except some on the private bus of the core).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Joseph Yiu's "The Definitive Guide to ARM Cortex -M3 and Cortex-M4 Processors" has a chapter on the memory system.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You could also look through the documents on Cortex-M from ARM, though I'm not sure which document you need (this hasn't been my focus yet).&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:22:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537288#M11418</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:22:48Z</dc:date>
    </item>
    <item>
      <title>Re: Still reading but looking for clarification on AHB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537289#M11419</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by tvink on Thu Jan 29 11:01:08 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;you are right...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It is the EMC that has this priority scheme for connecting to bus masters.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:22:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537289#M11419</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:22:49Z</dc:date>
    </item>
    <item>
      <title>Re: Still reading but looking for clarification on AHB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537290#M11420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Fri Jan 30 02:47:43 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Interesting.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems the EMC got those 4 ports just to override the default priority scheme of the AHB. I understand why they put LCD as the top priority, but not why there are three more priorities and why they are in this order.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:22:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Still-reading-but-looking-for-clarification-on-AHB/m-p/537290#M11420</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:22:50Z</dc:date>
    </item>
  </channel>
</rss>

