{"id":2868,"date":"2019-07-20T04:50:15","date_gmt":"2019-07-20T04:50:15","guid":{"rendered":"http:\/\/fastbitlab.com\/?p=2868"},"modified":"2023-07-14T16:52:32","modified_gmt":"2023-07-14T11:22:32","slug":"spi-cpol-cpha-discussion","status":"publish","type":"post","link":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/","title":{"rendered":"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion"},"content":{"rendered":"<div class=\"boldgrid-section\" style=\"background-image: linear-gradient(to left, #eeeeee, #eeeeee);\" data-bg-color-1=\"#EEEEEE\" data-bg-color-2=\"#EEEEEE\" data-bg-direction=\"to left\">\n<div class=\"container\">\n<div class=\"row\" style=\"padding-top: 50px; padding-bottom: 50px;\">\n<div class=\"col-md-1 col-sm-12 col-xs-12 col-lg-1\"><\/div>\n<div class=\"col-md-10 col-sm-12 col-xs-12 col-lg-10\">\n<h2 class=\"\" style=\"text-align: center; border-width: 0px; font-size: 33px; line-height: 45px;\"><span style=\"color: #000080;\"><strong>SPI CPOL and CPHA discussion<\/strong><\/span><\/h2>\n<div class=\"row bg-editor-hr-wrap\">\n<hr>\n<\/div>\n<div class=\"row bg-editor-hr-wrap\" style=\"border-width: 0px; margin-top: -25px;\">\n<div class=\"col-lg-12 col-md-12 col-xs-12 col-sm-12\">\n<div>\n<div class=\"bg-hr bg-hr-10 color2-color\" style=\"border-style: solid; border-width: 0px 0px 3px;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\">In this article, let\u2019s discuss the SPI communication formats. During SPI communication, receive and transmit operations are performed simultaneously.<\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\">The serial clock (SCK) synchronizes the shifting and sampling of the information on the data lines. The communication format depends on the clock phase(CPHA), the clock polarity(CPOL), and the data frame format. <\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\">To be able to communicate together, the master and slave devices must follow the same communication format. Otherwise, data communication will not be successful. Because the master may read the invalid data from the slave or slave may receive some corrupted data etc. So the communication formats must be the same in both master and slave devices. <\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\">The data format is straightforward to understand. The data format can be a 16-bit data format or 8-bit data format. By default, master and slave communicate over the 8-bit data format.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-size: 25px; border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; line-height: 36px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline; color: #000080;\"><strong>Clock polarity (CPOL):<\/strong><\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\">The CPOL bit controls the idle state value of the clock when no data is transferred. This bit affects both master and slave modes. If CPOL is reset, the SCK pin has a low-level idle state. If CPOL is set, the SCK pin has a high-level idle state. So, in the SPI control register, there is a bit called CPOL, and you can make that pin as either a 0 or 1.<\/span><\/p>\n<figure id=\"attachment_2870\" aria-describedby=\"caption-attachment-2870\" style=\"width: 1495px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-2870 size-full\" style=\"width: 639px;\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2019\/07\/Screenshot-175.png\" alt=\"SPI CPOL and CPHA discussion\" width=\"1495\" height=\"434\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175.png 1495w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-300x87.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-768x223.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-1024x297.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-600x174.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-120x35.png 120w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-500x145.png 500w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-200x58.png 200w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-400x116.png 400w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-800x232.png 800w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175-1200x348.png 1200w\" sizes=\"(max-width: 1495px) 100vw, 1495px\" \/><figcaption id=\"caption-attachment-2870\" class=\"wp-caption-text\"><span style=\"color: #800080;\">Figure 1. Serial clock format for CPOL<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\"><span style=\"font-weight: 400;\">From Figure 1. When CPOL=0, the clock starts from 0 or low level and then it toggles. Here the idle state is 0, which is at the end of the clock cycle. <\/span><\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\"><span style=\"font-weight: 400;\">Idle state means when there is no communication between master and slave the clock line or serial clock pin will be at 0 or low level. When CPOL=1, the clock starts from a high level or 1. So, there is a transition from high to low state. Here the idle state is 1.&nbsp;<\/span>That means when there is no communication between the master and slave, the status of the serial clock pin is high. Depending on the application requirements, one can select either CPOL=0 or CPOL=1. By default, the clock polarity is 0.<\/span><\/p>\n<p class=\"\"><span style=\"font-weight: 400;\">&nbsp;<\/span><\/p>\n<p class=\"\" style=\"font-size: 25px; border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; line-height: 35px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline;\"><strong><span style=\"color: #000080; text-decoration: underline;\">Clock phase (CPHA):&nbsp;<\/span><\/strong><\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">It decides the clock phase. CPHA controls at which clock edge that is the 1st or 2nd edge of SCLK, the slave should sample the data. The combination of CPOL (clock polarity) and CPHA (clock phase) bits selects the data capture clock edge.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<figure id=\"attachment_2871\" aria-describedby=\"caption-attachment-2871\" style=\"width: 622px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-2871 size-full\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2019\/07\/Screenshot-177.png\" alt=\"Data clock timing diagram\" width=\"622\" height=\"624\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177.png 622w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-150x150.png 150w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-300x300.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-600x602.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-65x65.png 65w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-120x120.png 120w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-500x502.png 500w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-66x66.png 66w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-200x201.png 200w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-177-400x401.png 400w\" sizes=\"(max-width: 622px) 100vw, 622px\" \/><figcaption id=\"caption-attachment-2871\" class=\"wp-caption-text\"><span style=\"color: #800080;\">Figure 2. Data clock timing diagram<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">From Figure 2. If the CPHA bit is set, that is CPHA=1, the second edge on the SCK pin captures the first data bit transacted(falling edge if the CPOL bit is reset, rising edge if the CPOL bit is set). Data are latched on each occurrence of this clock transition type. <\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">If the CPHA bit is reset, that is CPHA=0, the first edge on the SCK pin captures the first data bit transacted (falling edge if the CPOL bit is set, rising side if the CPOL bit is reset). Data are latched on each occurrence of this clock transition type. But for all standard operations by default CPHA=0 and CPOL=0. Based on these CPHA and CPOL combinations, there are four different SPI modes. That is,<\/span><\/p>\n<p class=\"\"><span style=\"font-weight: 400;\">&nbsp;&nbsp;<img decoding=\"async\" class=\"aligncenter wp-image-2891 size-full\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2019\/07\/mode.png\" alt=\"\" width=\"192\" height=\"199\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/mode.png 192w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/mode-120x124.png 120w\" sizes=\"(max-width: 192px) 100vw, 192px\" \/><\/span><\/p>\n<div class=\"fusion-table table-2\"><\/div>\n<p class=\"\"><span style=\"font-weight: 400;\">&nbsp;<\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">If CPHA=1,&nbsp; &nbsp; data will be sampled on the trailing edge of the clock. If CPHA=0,&nbsp; &nbsp;data will be sampled on the leading edge of the clock.<\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">The last one is the data frame format. The data frame size is chosen by the DS bits in the SPIx_DR register. It can be set from 4-bit up to 16-bit length, and the setting applies for both transmission and reception. During communication, only bits within the data frame are clocked and transferred.<\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">From Figure 3. The master is in transmit mode, and the slave is in receive mode. The MOSI of the master connects to the MOSI of the slave. And both the MISO lines are disconnected.&nbsp;<\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">In all of the above communications, the <span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/fastbitlab.com\/nss-setting-stm32-master-slave-mode\/\" target=\"_blank\" rel=\"noopener\">NSS pin<\/a><\/span> is optional because only one slave considered.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 20px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000080;\"><b>FastBit Embedded Brain Academy Courses<\/b><\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-size: 17px;\">Click here:&nbsp;<span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/fastbitlab.com\/course1\" target=\"_blank\" rel=\"noopener\">https:\/\/fastbitlab.com\/course1<\/a><\/span><\/p>\n<\/div>\n<div class=\"col-md-1 col-sm-12 col-xs-12 col-lg-1\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SPI CPOL and CPHA discussion In this article, let\u2019s discuss the SPI communication formats. During SPI communication, receive and transmit operations are performed simultaneously. The serial clock (SCK) synchronizes the shifting and sampling of the information on the data lines. The communication format depends on the clock phase(CPHA), the clock polarity(CPOL), and the data frame [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2870,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[],"footnotes":""},"categories":[8],"tags":[21],"class_list":["post-2868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-stm32-spi","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion<\/title>\n<meta name=\"description\" content=\"SPI CPOL and CPHA discussion. During SPI communication, receive and transmit operations are performed simultaneously.The serial clock (SCK)\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion\" \/>\n<meta property=\"og:description\" content=\"SPI CPOL and CPHA discussion. During SPI communication, receive and transmit operations are performed simultaneously.The serial clock (SCK)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/\" \/>\n<meta property=\"og:site_name\" content=\"FastBit EBA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/fastbiteba\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-20T04:50:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-14T11:22:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1495\" \/>\n\t<meta property=\"og:image:height\" content=\"434\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"FastBitLab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:site\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"FastBitLab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/\"},\"author\":{\"name\":\"FastBitLab\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\"},\"headline\":\"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion\",\"datePublished\":\"2019-07-20T04:50:15+00:00\",\"dateModified\":\"2023-07-14T11:22:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/\"},\"wordCount\":700,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/Screenshot-175.png\",\"keywords\":[\"STM32 SPI Lectures\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/\",\"name\":\"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/Screenshot-175.png\",\"datePublished\":\"2019-07-20T04:50:15+00:00\",\"dateModified\":\"2023-07-14T11:22:32+00:00\",\"description\":\"SPI CPOL and CPHA discussion. During SPI communication, receive and transmit operations are performed simultaneously.The serial clock (SCK)\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#primaryimage\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/Screenshot-175.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/Screenshot-175.png\",\"width\":1495,\"height\":434},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/spi-cpol-cpha-discussion\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"name\":\"FastBit EBA\",\"description\":\"Your Online Academy of Embedded Systems\",\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\",\"name\":\"FastBit EBA\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"width\":640,\"height\":640,\"caption\":\"FastBit EBA\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/fastbiteba\\\/\",\"https:\\\/\\\/x.com\\\/fastbiteba\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fastbit-embedded-brain-academy-b3167b124\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCa1REBV9hyrzGp2mjJCagBg\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\",\"name\":\"FastBitLab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"caption\":\"FastBitLab\"},\"description\":\"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion","description":"SPI CPOL and CPHA discussion. During SPI communication, receive and transmit operations are performed simultaneously.The serial clock (SCK)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/","og_locale":"en_US","og_type":"article","og_title":"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion","og_description":"SPI CPOL and CPHA discussion. During SPI communication, receive and transmit operations are performed simultaneously.The serial clock (SCK)","og_url":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/","og_site_name":"FastBit EBA","article_publisher":"https:\/\/www.facebook.com\/fastbiteba\/","article_published_time":"2019-07-20T04:50:15+00:00","article_modified_time":"2023-07-14T11:22:32+00:00","og_image":[{"width":1495,"height":434,"url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175.png","type":"image\/png"}],"author":"FastBitLab","twitter_card":"summary_large_image","twitter_creator":"@fastbiteba","twitter_site":"@fastbiteba","twitter_misc":{"Written by":"FastBitLab","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#article","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/"},"author":{"name":"FastBitLab","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d"},"headline":"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion","datePublished":"2019-07-20T04:50:15+00:00","dateModified":"2023-07-14T11:22:32+00:00","mainEntityOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/"},"wordCount":700,"commentCount":7,"publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175.png","keywords":["STM32 SPI Lectures"],"articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/","url":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/","name":"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#primaryimage"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175.png","datePublished":"2019-07-20T04:50:15+00:00","dateModified":"2023-07-14T11:22:32+00:00","description":"SPI CPOL and CPHA discussion. During SPI communication, receive and transmit operations are performed simultaneously.The serial clock (SCK)","breadcrumb":{"@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#primaryimage","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2019\/07\/Screenshot-175.png","width":1495,"height":434},{"@type":"BreadcrumbList","@id":"https:\/\/fastbitlab.com\/blog\/spi-cpol-cpha-discussion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fastbitlab.com\/blog\/"},{"@type":"ListItem","position":2,"name":"STM32 SPI Lecture 10 : SPI CPOL and CPHA discussion"}]},{"@type":"WebSite","@id":"https:\/\/fastbitlab.com\/blog\/#website","url":"https:\/\/fastbitlab.com\/blog\/","name":"FastBit EBA","description":"Your Online Academy of Embedded Systems","publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fastbitlab.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fastbitlab.com\/blog\/#organization","name":"FastBit EBA","url":"https:\/\/fastbitlab.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","width":640,"height":640,"caption":"FastBit EBA"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/fastbiteba\/","https:\/\/x.com\/fastbiteba","https:\/\/www.linkedin.com\/in\/fastbit-embedded-brain-academy-b3167b124\/","https:\/\/www.youtube.com\/channel\/UCa1REBV9hyrzGp2mjJCagBg"]},{"@type":"Person","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d","name":"FastBitLab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","caption":"FastBitLab"},"description":"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries."}]}},"_links":{"self":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/2868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/comments?post=2868"}],"version-history":[{"count":5,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/2868\/revisions"}],"predecessor-version":[{"id":12636,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/2868\/revisions\/12636"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media\/2870"}],"wp:attachment":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media?parent=2868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/categories?post=2868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/tags?post=2868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}