SlideShare a Scribd company logo
1 of 25
Download to read offline
Mdaq-D3 :
    a C++ Distributed Driver
    Development Framework
Chavas Joël, Château Frédéric, Druillole Frédéric,
       Usher Nathan, Pollacco Emmanuel
               and Anvar Shebli

          Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Drivers




Driver functions
Driver functions                            read // write protocol
                                            read write protocol




      Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Control of a system of electronic
              cards
              ethernet
                                          I2C            SPI

                                                                 AGetBus




      Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
A system of electronic cards -
           software point of view


                                                             Devices     I2C
                                                                         SPI
                                                                       AgetBus
                                                Node                       .
                                                Node
                                                                           .
                                                                           .
ECC
ECC                 Ice
                    Ice


                                              Nodes (with OS)
                                              Nodes (with OS)

                                                    VxWorks
                                                    VxWorks
                                                     Linux
                                                      Linux
                                                       ...
                                                        ...


      Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Distributed Driver Development -
                  where we want to arrive

remote driver                             read / write protocol
   functions




            Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Distributed Driver Development -
                    where we want to arrive



●   Remote driver functions using remote register
    access
●   Dynamic development through configuration
    (no recompilation)




              Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
A system of electronic cards -
           software point of view


                                                             Devices     I2C
                                                                         SPI
                                                                       AgetBus
                                                Node                       .
                                                Node
                                                                           .
                                                                           .
ECC
ECC                 Ice
                    Ice


                                              Nodes (with OS):
                                              Nodes (with OS):

                                                    VxWorks
                                                    VxWorks
                                                     Linux
                                                      Linux
                                                       ...
                                                        ...


      Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Hardware Node
HardwareNode
  loadConfig()
           1

       *
                        *            1
   Device
   Device                                    Register Access Policy
                                             Register Access Policy
           1


        *
  Register
  Register
           1


         *
   BitField
   BitField

  Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Register Access Policy

                             AccessPolicy

                deviceAddress
                registerOffset

                write()
                read()


●
    At compile time :
    ●   REGISTER_POLICY(I2CAccessPolicy, "I2CBus");
    ●   REGISTER_POLICY(AGetAccessPolicy, "AGetBus");

                Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Electronic Control Core
                        ECC
               ● write()
               ● read()

               ● loadConfig()


                              1
                              0...1

                      System
                      System
                              1
                           *
                        Node
                        Node
                              1

                            *
                       Device
                       Device

  Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Access points to the framework

         Ecc
         Ecc                                     HardwareNode
                                                 HardwareNode
  ●
  ● write()
     write()
  ● read()
  ● read()                                          loadConfig()
                                                ●
                                                ●    loadConfig()
  ● loadConfig()
  ● loadConfig()




       UserEcc
       UserEcc                                        UserNode
                                                      UserNode

  ●
  ● driverFunction1()
    driverFunction1()                           ●
                                                ● function1()
                                                  function1()
  ● driverFunction2()
  ● driverFunction2()                           ● function2()
                                                ● function2()




         Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
GET configuration

                ONE POLICY PER DEVICE




Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Distributed Driver Development -
                    user guide
●   Prototype
    ●   define the access policies
    ●   configuration: interface between firmware and software
    ●   remote driver functions on the ECC
●   Final product
    ●   Some driver functions brought to the nodes for the sake of
        performance
●   In both cases
    ●   system structure defined at run-time (configuration)


                   Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Distributed Driver Development




                                         define access policies
                                             (compile time)




     Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Distributed Driver Development




write the configuration
 (loaded at run time)




                Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Distributed Driver Development




define the driver
    functions




                    Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
A run

remote driver                                   access policies
   functions




            Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
A run

remote driver                                   access policies
   functions




                   configure




            Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
A run

remote driver                             read / write protocol
   functions




            Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
From prototype to performance



                                    move some driver functions
                                          into the cards




     Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Your application as an ECC client


 ECC client ::
 ECC client

    script
    script
     GUII
     GU                                      Ecc
                                             Ecc
 testbench
 testbench
      ..
      ..
      ..




             Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Libraries

●
    CompoundConfig
    ●
        Flexible advanced configuration tool
●
    Mdaq-D3
    ●
        A Distributed Driver Development framework

    Today’s distribution mode: ask Shebli Anvar or
    myself for a tarball (Shebli.Anvar@cea.fr;
    joel.chavas@cea.fr)
    Licencing: GPL-like Cecill (open source, special
    contract for proprietary licencing)

                  Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Conclusion

●   Mdaq-D3:
    ●   A framework for the slow control of a system of
        electronic cards
    ●   Distributed driver development
        (through remote register access)
    ●   Dynamic development through configuration
        (no recompilation)
    ●   An interface between firmware and software


                  Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Thanks


●   Engineers:
    ●   Shebli Anvar, Frédéric Druillole, Nathan Usher,
        Patrick Sizun
●   Grants:
    ●   ANR GET
    ●   Eurotalents program



                 Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
Mdaq-D3 for a dynamic
Distributed Driver Development
remote driver                             read / write protocol
   functions




         configuration




            Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011

More Related Content

Recently uploaded

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Mdaq-D3 : a C++ Distributed Driver Development Framework

  • 1. Mdaq-D3 : a C++ Distributed Driver Development Framework Chavas Joël, Château Frédéric, Druillole Frédéric, Usher Nathan, Pollacco Emmanuel and Anvar Shebli Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 2. Drivers Driver functions Driver functions read // write protocol read write protocol Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 3. Control of a system of electronic cards ethernet I2C SPI AGetBus Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 4. A system of electronic cards - software point of view Devices I2C SPI AgetBus Node . Node . . ECC ECC Ice Ice Nodes (with OS) Nodes (with OS) VxWorks VxWorks Linux Linux ... ... Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 5. Distributed Driver Development - where we want to arrive remote driver read / write protocol functions Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 6. Distributed Driver Development - where we want to arrive ● Remote driver functions using remote register access ● Dynamic development through configuration (no recompilation) Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 7. A system of electronic cards - software point of view Devices I2C SPI AgetBus Node . Node . . ECC ECC Ice Ice Nodes (with OS): Nodes (with OS): VxWorks VxWorks Linux Linux ... ... Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 8. Hardware Node HardwareNode loadConfig() 1 * * 1 Device Device Register Access Policy Register Access Policy 1 * Register Register 1 * BitField BitField Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 9. Register Access Policy AccessPolicy deviceAddress registerOffset write() read() ● At compile time : ● REGISTER_POLICY(I2CAccessPolicy, "I2CBus"); ● REGISTER_POLICY(AGetAccessPolicy, "AGetBus"); Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 10. Electronic Control Core ECC ● write() ● read() ● loadConfig() 1 0...1 System System 1 * Node Node 1 * Device Device Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 11. Access points to the framework Ecc Ecc HardwareNode HardwareNode ● ● write() write() ● read() ● read() loadConfig() ● ● loadConfig() ● loadConfig() ● loadConfig() UserEcc UserEcc UserNode UserNode ● ● driverFunction1() driverFunction1() ● ● function1() function1() ● driverFunction2() ● driverFunction2() ● function2() ● function2() Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 12. GET configuration ONE POLICY PER DEVICE Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 13. Distributed Driver Development - user guide ● Prototype ● define the access policies ● configuration: interface between firmware and software ● remote driver functions on the ECC ● Final product ● Some driver functions brought to the nodes for the sake of performance ● In both cases ● system structure defined at run-time (configuration) Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 14. Distributed Driver Development define access policies (compile time) Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 15. Distributed Driver Development write the configuration (loaded at run time) Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 16. Distributed Driver Development define the driver functions Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 17. A run remote driver access policies functions Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 18. A run remote driver access policies functions configure Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 19. A run remote driver read / write protocol functions Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 20. From prototype to performance move some driver functions into the cards Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 21. Your application as an ECC client ECC client :: ECC client script script GUII GU Ecc Ecc testbench testbench .. .. .. Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 22. Libraries ● CompoundConfig ● Flexible advanced configuration tool ● Mdaq-D3 ● A Distributed Driver Development framework Today’s distribution mode: ask Shebli Anvar or myself for a tarball (Shebli.Anvar@cea.fr; joel.chavas@cea.fr) Licencing: GPL-like Cecill (open source, special contract for proprietary licencing) Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 23. Conclusion ● Mdaq-D3: ● A framework for the slow control of a system of electronic cards ● Distributed driver development (through remote register access) ● Dynamic development through configuration (no recompilation) ● An interface between firmware and software Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 24. Thanks ● Engineers: ● Shebli Anvar, Frédéric Druillole, Nathan Usher, Patrick Sizun ● Grants: ● ANR GET ● Eurotalents program Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011
  • 25. Mdaq-D3 for a dynamic Distributed Driver Development remote driver read / write protocol functions configuration Joël Chavas (CEA Irfu) – 24 october 2011 – IEEE NSS 2011