{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,6]],"date-time":"2026-05-06T15:05:19Z","timestamp":1778079919785,"version":"3.51.4"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2013,9,1]],"date-time":"2013-09-01T00:00:00Z","timestamp":1377993600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CNS-1060337"],"award-info":[{"award-number":["CNS-1060337"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2013,9]]},"abstract":"<jats:p>The field of modern control theory and the systems used to implement these controls have shown rapid development over the last 50 years. It was often the case that those developing control algorithms could assume the computing medium was solely dedicated to the task of controlling a plant, for example, the control algorithm being implemented in software on a dedicated Digital Signal Processor (DSP), or implemented in hardware using a simple dedicated Programmable Logic Device (PLD). As time progressed, the drive to place more system functionality in a single component (reducing power, cost, and increasing reliability) has made this assumption less often true. Thus, it has been pointed out by some experts in the field of control theory (e.g., Astrom) that those developing control algorithms must take into account the effects of running their algorithms on systems that will be shared with other tasks. One aspect of the work presented in this article is a hardware architecture that allows control developers to maintain this simplifying assumption. We focus specifically on the Proportional-Integral-Derivative (PID) controller. An on-chip coprocessor has been implemented that can scale to support servicing hundreds of plants, while maintaining microsecond-level response times, tight deterministic control loop timing, and allowing the main processor to service noncontrol tasks.<\/jats:p>\n          <jats:p>In order to control a plant, the controller needs information about the plant's state. Typically this information is obtained from sensors with which the plant has been instrumented. There are a number of common computations that may be performed on this sensor data before being presented to the controller (e.g., averaging and thresholding). Thus in addition to supporting PID algorithms, we have developed a Sensor Processing Unit (SPU) that off-loads these common sensor processing tasks from the main processor.<\/jats:p>\n          <jats:p>We have prototyped our ideas using Field Programmable Gate Array (FPGA) technology. Through our experimental results, we show our PID execution unit gives orders of magnitude improvement in response time when servicing many plants, as compared to a standard general software implementation. We also show that the SPU scales much better than a general software implementation. In addition, these execution units allow the simplifying assumption of dedicated computing medium to hold for control algorithm development.<\/jats:p>","DOI":"10.1145\/2514641.2514643","type":"journal-article","created":{"date-parts":[[2013,10,1]],"date-time":"2013-10-01T18:14:28Z","timestamp":1380651268000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Hardware architectural support for control systems and sensor processing"],"prefix":"10.1145","volume":"13","author":[{"given":"Sudhanshu","family":"Vyas","sequence":"first","affiliation":[{"name":"Iowa State University, Ames, IA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Adwait","family":"Gupte","sequence":"additional","affiliation":[{"name":"Iowa State University, Ames, IA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christopher D.","family":"Gill","sequence":"additional","affiliation":[{"name":"Washington University in St. Louis, MO"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ron K.","family":"Cytron","sequence":"additional","affiliation":[{"name":"Washington University in St. Louis, MO"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Joseph","family":"Zambreno","sequence":"additional","affiliation":[{"name":"Iowa State University, Ames, IA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Phillip H.","family":"Jones","sequence":"additional","affiliation":[{"name":"Iowa State University, Ames, IA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2013,9,30]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 7th IFAC Symposium on Advances in Control Education (ACE'06)","author":"Astrom K. J.","year":"2006"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.fusengdes.2010.02.002"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the 10th International Conference on Real-Time and Embedded Computing Systems and Applications.","author":"Cervin A."},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 43rd IEEE Conference on Decision and Control (CDC'04)","volume":"5","author":"Chan Y."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/TIE.2007.898283"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the IEEE International Symposium on Industrial Electronics (ISIE'08). 1908","author":"Economakos C.","year":"1913"},{"key":"e_1_2_1_7_1","unstructured":"Eembc. 2008. Embedded microprocessor benchmark consortium (EEMBC) homepage. http:\/\/www.eembc.org.  Eembc. 2008. Embedded microprocessor benchmark consortium (EEMBC) homepage. http:\/\/www.eembc.org."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/40.888703"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/958491.958529"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/JSYST.2008.925262"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.enconman.2010.02.004"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098941"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2009.16"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/1128020.1128563"},{"key":"e_1_2_1_15_1","unstructured":"Gwaltney D. A. King K. D. and Smith K. J. 2002. Implementation of adaptive digital controllers on programmable logic devices. http:\/\/ntrs.nasa.gov\/archive\/nasa\/casi.ntrs.nasa.gov\/20020094342_2002153594.pdf.  Gwaltney D. A. King K. D. and Smith K. J. 2002. Implementation of adaptive digital controllers on programmable logic devices. http:\/\/ntrs.nasa.gov\/archive\/nasa\/casi.ntrs.nasa.gov\/20020094342_2002153594.pdf."},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the 2nd International Conference on Information Processing in Sensor Networks (IPSN'03)","author":"Hellerstein J."},{"key":"e_1_2_1_17_1","unstructured":"Henriksson D. Redell O. El-Khoury J. T\u00f6rngren M. and Arzen K.-E. 2005. Tools for real-time control systems co-design\u2014A survey. Tech. rep. ISRN LUTFD2\/TFRT- 7612- SE. Department of Automatic Control Lund Institute of Technology Sweden.  Henriksson D. Redell O. El-Khoury J. T\u00f6rngren M. and Arzen K.-E. 2005. Tools for real-time control systems co-design\u2014A survey. Tech. rep. ISRN LUTFD2\/TFRT- 7612- SE. Department of Automatic Control Lund Institute of Technology Sweden."},{"key":"e_1_2_1_18_1","unstructured":"Intel Inc. 2006. Intel Centrino mobile technology Wake on wireless LAN feature. Intel Inc.  Intel Inc. 2006. Intel Centrino mobile technology Wake on wireless LAN feature. Intel Inc."},{"key":"e_1_2_1_19_1","unstructured":"Intel Inc. 2010. Intel Atom Processor Z5XX series datasheet section 5.1.2 Intel thermal monitor. Intel Inc.  Intel Inc. 2010. Intel Atom Processor Z5XX series datasheet section 5.1.2 Intel thermal monitor. Intel Inc."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1049\/ip-cta:20020319"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/11748625_6"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11036-008-0052-6"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 11th International Conference on Optimization of Electrical and Electronic Equipment (OPTIM'08)","author":"Mic D."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1111\/j.1559-3584.1922.tb04958.x"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the Conference on Local Computer Networks.","author":"Nakamura M."},{"key":"e_1_2_1_26_1","unstructured":"National Instruments. 2011. Pacs for industrial control the future of control. White paper National Instruments. http:\/\/www.ni.com\/white-paper\/3755\/en\/.  National Instruments. 2011. Pacs for industrial control the future of control. White paper National Instruments. http:\/\/www.ni.com\/white-paper\/3755\/en\/."},{"key":"e_1_2_1_27_1","unstructured":"Nekoogar F. and Moriarty G. 1998. Digital Control Using Digital Signal Processing 1st Ed. Prentice-Hall Upper Saddle River NJ.   Nekoogar F. and Moriarty G. 1998. Digital Control Using Digital Signal Processing 1 st Ed. Prentice-Hall Upper Saddle River NJ."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACC.2003.1239802"},{"key":"e_1_2_1_29_1","unstructured":"Ogata K. 2002. Modern Control Engineering 4th Ed. Prentice-Hall Upper Saddle River NJ.   Ogata K. 2002. Modern Control Engineering 4 th Ed. Prentice-Hall Upper Saddle River NJ."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2008.43"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 5th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research.","author":"Penaflor B."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the Intelligent Systems Conference.","author":"Petrov M."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the IEEE International Conference on Electronics, Circuits and Systems.","volume":"1","author":"Samet L."},{"key":"e_1_2_1_34_1","volume-title":"Proceedings of the 23rd IEEE\/NPSS Symposium on Fusion Engineering (SOFE'09)","author":"Sartori F."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.3390\/s7040437"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/41.937407"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1007964222989"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1049\/ip-cta:20010232"},{"key":"e_1_2_1_39_1","unstructured":"Wittenmark B. Astrm K. J. and Arzen K.-E. 2003. Computer control: An overview. Tech. rep. http:\/\/cepac.cheme.cmu.edu\/pasilectures\/crisalle\/&percnt;5BWiAA&percnt;5D&percnt;20Computer_Control.pdf.  Wittenmark B. Astrm K. J. and Arzen K.-E. 2003. Computer control: An overview. Tech. rep. http:\/\/cepac.cheme.cmu.edu\/pasilectures\/crisalle\/&percnt;5BWiAA&percnt;5D&percnt;20Computer_Control.pdf."},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the International Conference on Advanced Robotics. 70","author":"Zhao W."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146909.1147001"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2514641.2514643","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2514641.2514643","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:39:18Z","timestamp":1750235958000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2514641.2514643"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,9]]},"references-count":41,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2013,9]]}},"alternative-id":["10.1145\/2514641.2514643"],"URL":"https:\/\/doi.org\/10.1145\/2514641.2514643","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,9]]},"assertion":[{"value":"2011-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-09-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}